Changeset 768


Ignore:
Timestamp:
2007-12-16T15:46:18+01:00 (13 years ago)
Author:
gm
Message:

dev_001_GM - create 1 trclsm_ module by trc model (CFC, LOBSTER, PISCES..) + some bug corrections

Location:
branches/dev_001_GM/NEMO/TOP_SRC
Files:
1 added
13 edited
4 moved

Legend:

Unmodified
Added
Removed
  • branches/dev_001_GM/NEMO/TOP_SRC/CFC/par_CFC.F90

    r765 r768  
    1616   PUBLIC 
    1717 
     18   INTEGER, PUBLIC, PARAMETER ::   jp_lp      = jp_lobster + jp_pisces   !: cumulative number of passive tracers 
     19    
    1820#if defined key_cfc 
    1921   !!--------------------------------------------------------------------- 
     
    2729    
    2830   ! assign an index in trc arrays for each CFC prognostic variables 
    29    INTEGER, PUBLIC, PARAMETER ::   jp_lp      = jp_lobster + jp_pisces   !: cumulative number of passive tracers 
    3031   INTEGER, PUBLIC, PARAMETER ::   jp11       = jp_lp + 1                !: CFC-11  
    3132   INTEGER, PUBLIC, PARAMETER ::   jp12       = jp_lp + 2                !: CFC-12    
     
    4142#endif 
    4243 
    43    ! Starting/ending CFC do-loop indices (N.B. no CFC : jpl_cfc < jpf_cfc the do-loop are never done) 
    44    INTEGER, PUBLIC, PARAMETER ::   jpf_cfc    = jp_lp + 1       !: First index of CFC tracers 
    45    INTEGER, PUBLIC, PARAMETER ::   jpl_cfc    = jp_lp + jp_cfc  !: Last  index of CFC tracers 
     44   ! 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 
    4647 
    4748   !!====================================================================== 
  • branches/dev_001_GM/NEMO/TOP_SRC/CFC/trccfc.F90

    r765 r768  
    2525   PUBLIC   trc_cfc       ! called in ???     
    2626 
    27    INTEGER , PARAMETER ::   jpyear = 100   ! temporal parameter  
    28    INTEGER , PARAMETER ::   jphem  =   2   ! parameter for the 2 hemispheres 
     27   INTEGER , PUBLIC, PARAMETER ::   jpyear = 100   ! temporal parameter  
     28   INTEGER , PUBLIC, PARAMETER ::   jphem  =   2   ! parameter for the 2 hemispheres 
    2929   INTEGER , PUBLIC    ::   ndate_beg      ! initial calendar date (aammjj) for CFC 
    3030   INTEGER , PUBLIC    ::   nyear_res      ! restoring time constant (year) 
    3131   INTEGER , PUBLIC    ::   nyear_beg      ! initial year (aa)  
    3232    
    33    REAL(wp), PUBLIC, DIMENSION(jpyear,jphem, jpf_cfc:jpl_cfc) ::   p_cfc   ! partial hemispheric pressure for CFC           
     33   REAL(wp), PUBLIC, DIMENSION(jpyear,jphem, jp_cfc0:jp_cfc1) ::   p_cfc   ! partial hemispheric pressure for CFC           
    3434   REAL(wp), PUBLIC, DIMENSION(jpi,jpj)                       ::   xphem    ! spatial interpolation factor for patm 
    35    REAL(wp), PUBLIC, DIMENSION(jpi,jpj      ,jpf_cfc:jpl_cfc) ::   qtr      ! input function 
    36    REAL(wp), PUBLIC, DIMENSION(jpi,jpj      ,jpf_cfc:jpl_cfc) ::   qint     ! flux function 
     35   REAL(wp), PUBLIC, DIMENSION(jpi,jpj      ,jp_cfc0:jp_cfc1) ::   qtr      ! input function 
     36   REAL(wp), PUBLIC, DIMENSION(jpi,jpj      ,jp_cfc0:jp_cfc1) ::   qint     ! flux function 
    3737 
    3838   REAL(wp), DIMENSION(jptra) ::   soa1, soa2, soa3, soa4   ! coefficient for solubility of CFC [mol/l/atm] 
     
    5050   !!---------------------------------------------------------------------- 
    5151   !! NEMO/TOP 2.0 , LOCEAN-IPSL (2007)  
    52    !! $Id:$  
     52   !! $Id$  
    5353   !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 
    5454   !!---------------------------------------------------------------------- 
     
    107107 
    108108      !                                                         !------------! 
    109       DO jn = jpf_cfc, jpl_cfc                                  !  CFC loop  ! 
     109      DO jn = jp_cfc0, jp_cfc1                                  !  CFC loop  ! 
    110110         !                                                      !------------! 
    111111         ! time interpolation at time kt 
     
    180180      !!--------------------------------------------------------------------- 
    181181 
    182       DO jn = 1, jptra 
     182      DO jn = jp_cfc0, jp_cfc1 
    183183         IF ( jn == jp11 ) THEN 
    184184            ! coefficient for solubility of CFC11 in  mol/l/atm 
     
    214214            sca4(jn) =    -0.067430 
    215215         ENDIF 
    216       ENDDO 
    217  
    218       DO jn = 1, jptra 
     216 
    219217         WRITE(numout,*) 'coefficient for solubility of tracer',ctrcnm(jn) 
    220218         WRITE(numout,*) soa1(jn), soa2(jn),soa3(jn), soa4(jn), & 
  • branches/dev_001_GM/NEMO/TOP_SRC/CFC/trcini_cfc.F90

    r766 r768  
    1212   !! trc_ini_cfc      : CFC model initialisation 
    1313   !!---------------------------------------------------------------------- 
     14   USE oce_trc         ! Ocean variables 
    1415   USE par_trc         ! TOP parameters 
     16   USE trc             ! TOP variables 
    1517   USE trccfc          ! CFC sms trends 
    1618 
     
    2830   !!---------------------------------------------------------------------- 
    2931   !! NEMO/TOP 2.0 , LOCEAN-IPSL (2007)  
    30    !! $Id:$  
     32   !! $Id$  
    3133   !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 
    3234   !!---------------------------------------------------------------------- 
     
    5254      ! Initialization of boundaries conditions 
    5355      ! ---------------------------------------  
    54       pp_cfc(:,:,:) = 0.e0 
    5556      qtr   (:,:,:) = 0.e0 
    5657      xphem (:,:)   = 0.e0 
    57       DO jn = 1, jptra 
     58      DO jn = jp_cfc0, jp_cfc1 
    5859         DO jm = 1, jphem 
    5960            DO jl = 1, jpyear 
     
    7172            WRITE(numout,*) 'Initialization de qint ; No restart : qint equal zero ' 
    7273         ENDIF 
    73          DO jn = 1, jptra 
     74         DO jn = jp_cfc0, jp_cfc1 
    7475            qint(:,:,jn) = 0.e0 
    7576         END DO 
     
    8889      REWIND(inum) 
    8990       
    90  
    91       ! Skip over 1st six descriptor lines 
    92       !----------------------------------- 
    93       DO jm = 1, 6 
     91      DO jm = 1, 6        ! Skip over 1st six descriptor lines 
    9492         READ(inum,'(1x)') 
    9593      END DO 
    9694    
    97     
    98       !   Read file 
    99       ! --------- 
    100       DO jn = 31, 98 
     95      DO jn = 31, 98      !   Read file 
    10196         READ(inum,*) zyy, p_cfc(jn,1,jp11), p_cfc(jn,1,jp12), & 
    10297            &              p_cfc(jn,2,jp11), p_cfc(jn,2,jp12) 
     
    106101      END DO 
    107102 
    108       p_cfc(32,1:2,jp11) = 5.e-4 
     103      p_cfc(32,1:2,jp11) = 5.e-4      ! modify the values of the first years 
    109104      p_cfc(33,1:2,jp11) = 8.e-4 
    110105      p_cfc(34,1:2,jp11) = 1.e-6 
     
    115110      p_cfc(39,1:2,jp11) = 1.e-2 
    116111       
    117        
    118       IF(lwp) THEN 
     112      IF(lwp) THEN        ! Control print 
    119113         WRITE(numout,*) 
    120114         WRITE(numout,*) ' Year   p11HN    p11HS    p12HN    p12HS ' 
  • branches/dev_001_GM/NEMO/TOP_SRC/CFC/trclsm_cfc.F90

    r764 r768  
     1MODULE trclsm_cfc 
     2   !!====================================================================== 
     3   !!                         ***  MODULE trclsm_cfc  *** 
     4   !! TOP :   initialisation of some run parameters for CFC chemical model 
     5   !!====================================================================== 
     6   !! History :   2.0  !  2007-12  (C. Ethe, G. Madec) from trclsm.cfc.h90 
    17   !!---------------------------------------------------------------------- 
    2    !!                     ***  trclsm.cfc.h90  ***   
    3    !! TOP :   Definition some run parameter for CFC chemical model 
     8#if defined key_cfc 
    49   !!---------------------------------------------------------------------- 
    5    !! History :   1.0  !  2003-08 (C. Ethe)  Original code 
     10   !!   'key_cfc'                                               CFC tracers 
    611   !!---------------------------------------------------------------------- 
     12   !! trc_lsm_cfc      : CFC model initialisation 
     13   !!---------------------------------------------------------------------- 
     14   USE oce_trc         ! Ocean variables 
     15   USE par_trc         ! TOP parameters 
     16   USE trc             ! TOP variables 
     17   USE sms             ! sms trends 
     18   USE trccfc          ! CFC specific variable 
     19 
     20   IMPLICIT NONE 
     21   PRIVATE 
     22 
     23   PUBLIC   trc_lsm_cfc   ! called by trclsm.F90 module 
    724 
    825   !!---------------------------------------------------------------------- 
    9    !! NEMO/TOP 1.0 , LOCEAN-IPSL (2005)  
    10    !! $Id $  
     26   !! NEMO/TOP 2.0 , LOCEAN-IPSL (2007)  
     27   !! $Id$  
    1128   !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 
    1229   !!---------------------------------------------------------------------- 
     
    1431CONTAINS 
    1532 
    16    SUBROUTINE trc_lsm 
     33   SUBROUTINE trc_lsm_cfc 
    1734      !!------------------------------------------------------------------- 
    18       !!                  ***  ROUTINE trc_lsm  *** 
     35      !!                  ***  ROUTINE trc_lsm_cfc  *** 
    1936      !!                  
    2037      !! ** Purpose :   Definition some run parameter for CFC model 
     
    5067      IF(lwp) WRITE(numout,*) '    initial year (aa)                       nyear_beg = ', nyear_beg 
    5168      ! 
    52    END SUBROUTINE trc_lsm 
     69   END SUBROUTINE trc_lsm_cfc 
     70    
     71#else 
     72   !!---------------------------------------------------------------------- 
     73   !!  Dummy module :                                                No CFC 
     74   !!---------------------------------------------------------------------- 
     75CONTAINS 
     76   SUBROUTINE trc_lsm_cfc                      ! Empty routine 
     77   END  SUBROUTINE  trc_lsm_cfc 
     78#endif   
     79 
     80   !!====================================================================== 
     81END MODULE trclsm_cfc 
  • branches/dev_001_GM/NEMO/TOP_SRC/LOBSTER/par_LOBSTER.F90

    r767 r768  
    1414   PUBLIC 
    1515 
    16 # if defined key_trc_lobster1 
     16#if defined key_trc_lobster1 
    1717   !!--------------------------------------------------------------------- 
    1818   !!   'key_trc_lobster1'   :                               LOBSTER model 
     
    3131   INTEGER, PUBLIC, PARAMETER ::   jpnh4          =  5        !: ammonium concentration      [mmoleN/m3] 
    3232   INTEGER, PUBLIC, PARAMETER ::   jpdom          =  6        !: dissolved organic matter    [mmoleN/m3] 
    33    ! 
    34    INTEGER, PUBLIC, PARAMETER ::   jpf_lob =         1        !: First index of LOBSTER tracers 
    35    INTEGER, PUBLIC, PARAMETER ::   jpl_lob = jp_lobster       !: Last  index of LOBSTER tracers 
    3633 
    3734   ! productive layer depth 
  • branches/dev_001_GM/NEMO/TOP_SRC/LOBSTER/trclsm_lobster.F90

    r764 r768  
    1    !!---------------------------------------------------------------------- 
    2    !!                     ***  trclsm.lobster1.h90  ***   
    3    !! TOP :   Definition some run parameter for LOBSTER biological model 
    4    !!---------------------------------------------------------------------- 
    5    !! History :    -  !  1999-10 (M.A. Foujols, M. Levy) original code 
    6    !!              -  !  2000-12 (O. Aumont, E. Kestenare) add sediments 
    7    !!             1.0 !  2003-08 (C. Ethe)  Original code 
    8    !!---------------------------------------------------------------------- 
    9  
    10    !!---------------------------------------------------------------------- 
    11    !! NEMO/TOP 1.0 , LOCEAN-IPSL (2005)  
    12    !! $Id $  
     1MODULE trclsm_lobster 
     2   !!====================================================================== 
     3   !!                      ***  MODULE trclsm_lobster  *** 
     4   !! TOP :   initialisation of some run parameters for LOBSTER bio-model 
     5   !!====================================================================== 
     6   !! History :   2.0  !  2007-12  (C. Ethe, G. Madec) from trclsm.lobster1.h90 
     7   !!---------------------------------------------------------------------- 
     8#if defined key_trc_lobster1 
     9   !!---------------------------------------------------------------------- 
     10   !!   'key_trc_lobster1'   :                            LOBSTER bio-model 
     11   !!---------------------------------------------------------------------- 
     12   !! trc_lsm_lobster      : LOBSTER model namelist read 
     13   !!---------------------------------------------------------------------- 
     14   USE oce_trc         ! Ocean variables 
     15   USE par_trc         ! TOP parameters 
     16   USE trc             ! TOP variables 
     17   USE sms             ! sms trends 
     18 
     19   IMPLICIT NONE 
     20   PRIVATE 
     21 
     22   PUBLIC   trc_lsm_lobster   ! called by trclsm.F90 module 
     23 
     24   !!---------------------------------------------------------------------- 
     25   !! NEMO/TOP 2.0 , LOCEAN-IPSL (2007)  
     26   !! $Id$  
    1327   !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 
    1428   !!---------------------------------------------------------------------- 
     
    1630CONTAINS 
    1731 
    18    SUBROUTINE trc_lsm 
     32   SUBROUTINE trc_lsm_lobster 
    1933      !!---------------------------------------------------------------------- 
    20       !!                     ***  trc_lsm  ***   
     34      !!                     ***  trc_lsm_lobster  ***   
    2135      !! 
    2236      !! ** Purpose :   read LOBSTER namelist 
     
    4357 
    4458      IF(lwp) WRITE(numout,*) 
    45       IF(lwp) WRITE(numout,*) ' trc_lsm : read LOBSTER 1 namelists' 
    46       IF(lwp) WRITE(numout,*) ' ~~~~~~~' 
     59      IF(lwp) WRITE(numout,*) ' trc_lsm_lobster : read LOBSTER namelists' 
     60      IF(lwp) WRITE(numout,*) ' ~~~~~~~~~~~~~~~' 
    4761 
    4862      !                               ! Open the namelist file 
     
    203217#endif 
    204218      ! 
    205    END SUBROUTINE trc_lsm 
     219   END SUBROUTINE trc_lsm_lobster 
     220    
     221#else 
     222   !!---------------------------------------------------------------------- 
     223   !!  Dummy module :                                            No LOBSTER 
     224   !!---------------------------------------------------------------------- 
     225CONTAINS 
     226   SUBROUTINE trc_lsm_lobster                      ! Empty routine 
     227   END  SUBROUTINE  trc_lsm_lobster 
     228#endif   
     229 
     230   !!====================================================================== 
     231END MODULE trclsm_lobster 
  • branches/dev_001_GM/NEMO/TOP_SRC/MY_TRC/par_MY_TRC.F90

    r767 r768  
    1717   PUBLIC 
    1818 
     19   INTEGER, PUBLIC, PARAMETER ::   jp_lpc  = jp_lobster + jp_pisces + jp_cfc   !: cumulative number of TRC 
     20 
    1921#if defined key_trc_my_trc 
    2022   !!--------------------------------------------------------------------- 
     
    2830 
    2931   ! assign an index in trc arrays for each PTS prognostic variables 
    30    INTEGER, PUBLIC, PARAMETER ::   jp_lpc  = jp_lobster + jp_pisces + jp_cfc   !: cumulative number of TRC 
    31    INTEGER, PUBLIC, PARAMETER ::   jp_myt1 = jp_lpc + 1                        !: 1st MY_TRC tracer 
    32    INTEGER, PUBLIC, PARAMETER ::   jp_myt2 = jp_lpc + 1                        !: 2nd MY_TRC tracer 
    33    INTEGER, PUBLIC, PARAMETER ::   jp_myt3 = jp_lpc + 1                        !: 3rd MY_TRC tracer 
     32   INTEGER, PUBLIC, PARAMETER ::   jp_myt1 = jp_lpc + 1     !: 1st MY_TRC tracer 
     33   INTEGER, PUBLIC, PARAMETER ::   jp_myt2 = jp_lpc + 1     !: 2nd MY_TRC tracer 
     34   INTEGER, PUBLIC, PARAMETER ::   jp_myt3 = jp_lpc + 1     !: 3rd MY_TRC tracer 
    3435 
    3536#else 
     
    4546 
    4647   ! Starting/ending PISCES do-loop indices (N.B. no PISCES : jpl_pcs < jpf_pcs the do-loop are never done) 
    47    INTEGER, PUBLIC, PARAMETER ::   jpf_myt = jp_l + 1           !: First index of CFC passive tracers 
    48    INTEGER, PUBLIC, PARAMETER ::   jpl_myt = jp_l + jp_my_trc   !: Last  index of CFC passive tracers 
     48   INTEGER, PUBLIC, PARAMETER ::   jpf_myt = jp_lpc + 1           !: First index of CFC passive tracers 
     49   INTEGER, PUBLIC, PARAMETER ::   jpl_myt = jp_lpc + jp_my_trc   !: Last  index of CFC passive tracers 
    4950 
    5051   !!====================================================================== 
  • branches/dev_001_GM/NEMO/TOP_SRC/PISCES/par_PISCES.F90

    r767 r768  
    1515   PUBLIC 
    1616 
     17   INTEGER, PUBLIC, PARAMETER ::   jp_l  = jp_lobster      !: cumulative number of already defined TRC 
     18 
    1719#if defined key_trc_pisces  &&  defined key_trc_kriest 
    1820   !!--------------------------------------------------------------------- 
     
    2931   !    WARNING: be carefull about the order when reading the restart 
    3032        !   !!gm  this warning should be obsolet with IOM 
    31    INTEGER, PUBLIC, PARAMETER ::   jp_l  = jp_lobster   !: cumulative number of already defined TRC 
    3233   INTEGER, PUBLIC, PARAMETER ::   jpdic = jp_l +  1    !: dissolved inoganic carbon concentration  
    3334   INTEGER, PUBLIC, PARAMETER ::   jptal = jp_l +  2    !: total alkalinity  
     
    6869   !    WARNING: be carefull about the order when reading the restart 
    6970        !   !!gm  this warning should be obsolet with IOM 
    70    INTEGER, PUBLIC, PARAMETER ::   jp_l  = jp_lobster   !: cumulative number of TRC 
    7171   INTEGER, PUBLIC, PARAMETER ::   jpdic = jp_l +  1    !: dissolved inoganic carbon concentration  
    7272   INTEGER, PUBLIC, PARAMETER ::   jptal = jp_l +  2    !: total alkalinity  
  • branches/dev_001_GM/NEMO/TOP_SRC/PISCES/trclsm_pisces.F90

    r764 r768  
    33   !! TOP :   Definition some run parameter for PISCES biological model 
    44   !!---------------------------------------------------------------------- 
    5    !! History :    -  !  1999-10 (M.A. Foujols, M. Levy) original code 
    6    !!              -  !  2000-01 (L. Bopp) hamocc3, p3zd 
    7    !!             1.0 !  2003-08 (C. Ethe)  module F90 
    8    !!---------------------------------------------------------------------- 
    9  
    10    !!---------------------------------------------------------------------- 
    11    !! NEMO/TOP 1.0 , LOCEAN-IPSL (2005)  
    12    !! $Id $  
     5   !! History :    -   !  1999-10 (M.A. Foujols, M. Levy) original code 
     6   !!              -   !  2000-01 (L. Bopp) hamocc3, p3zd 
     7   !!             1.0  !  2003-08 (C. Ethe)  module F90 
     8   !!             2.0  !  2007-12  (C. Ethe, G. Madec) from trclsm.pisces.h90 
     9   !!---------------------------------------------------------------------- 
     10#if defined key_trc_pisces 
     11   !!---------------------------------------------------------------------- 
     12   !!   'key_trc_pisces'   :                               PISCES bio-model 
     13   !!---------------------------------------------------------------------- 
     14   !! trc_lsm_pisces       : PISCES model namelist read 
     15   !!---------------------------------------------------------------------- 
     16   USE oce_trc         ! Ocean variables 
     17   USE par_trc         ! TOP parameters 
     18   USE trc             ! TOP variables 
     19   USE sms             ! sms trends 
     20 
     21   IMPLICIT NONE 
     22   PRIVATE 
     23 
     24   PUBLIC   trc_lsm_pisces   ! called by trclsm.F90 module 
     25 
     26   !!---------------------------------------------------------------------- 
     27   !! NEMO/TOP 2.0 , LOCEAN-IPSL (2007)  
     28   !! $Id$  
    1329   !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 
    1430   !!---------------------------------------------------------------------- 
     
    1632CONTAINS 
    1733 
    18    SUBROUTINE trc_lsm 
     34   SUBROUTINE trc_lsm_pisces 
    1935      !!---------------------------------------------------------------------- 
    20       !!                     ***  trc_lsm  ***   
     36      !!                     ***  trc_lsm_pisces  ***   
    2137      !! 
    2238      !! ** Purpose :   read PISCES namelist 
     
    4763      !!---------------------------------------------------------------------- 
    4864 
    49  
    5065      IF(lwp) WRITE(numout,*) 
    51       IF(lwp) WRITE(numout,*) ' trc_lsm : read PISCES namelists' 
    52       IF(lwp) WRITE(numout,*) ' ~~~~~~~' 
     66      IF(lwp) WRITE(numout,*) ' trc_lsm_pisces : read PISCES namelists' 
     67      IF(lwp) WRITE(numout,*) ' ~~~~~~~~~~~~~~' 
    5368 
    5469 
     
    202217#endif 
    203218      ! 
    204    END SUBROUTINE trc_lsm 
     219   END SUBROUTINE trc_lsm_pisces 
     220 
     221#else 
     222   !!---------------------------------------------------------------------- 
     223   !!  Dummy module :                                   No PISCES bio-model 
     224   !!---------------------------------------------------------------------- 
     225CONTAINS 
     226   SUBROUTINE trc_lsm_pisces                      ! Empty routine 
     227   END  SUBROUTINE  trc_lsm_pisces 
     228#endif   
     229 
     230   !!====================================================================== 
     231END MODULE trclsm_pisces 
  • branches/dev_001_GM/NEMO/TOP_SRC/par_trc.F90

    r765 r768  
    1111   !!---------------------------------------------------------------------- 
    1212   !! NEMO/TOP 2.0 , LOCEAN-IPSL (2007)  
    13    !! $Id:$  
     13   !! $Id$  
    1414   !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 
    1515   !!---------------------------------------------------------------------- 
     16   USE par_kind          ! kind parameters 
     17   ! 
    1618   USE par_LOBSTER   ! LOBSTER model 
    1719   USE par_PISCES    ! PISCES  model 
  • branches/dev_001_GM/NEMO/TOP_SRC/trc.F90

    r763 r768  
    1010   !!---------------------------------------------------------------------- 
    1111   !! NEMO/TOP 1.0 , LOCEAN-IPSL (2005)  
    12    !! $Id:$  
     12   !! $Id$  
    1313   !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 
    1414   !!---------------------------------------------------------------------- 
     
    139139# endif 
    140140 
    141   !!  1D configuration 
    142   !! -------------------------------------------------- 
    143 # if defined key_cfg_1d 
    144       LOGICAL, PARAMETER ::   lk_trccfg_1d   = .TRUE.   !: 1D pass. tracer configuration flag 
    145 # else    
    146       LOGICAL, PARAMETER ::   lk_trccfg_1d   = .FALSE.  !: 1D pass. tracer configuration flag 
    147 # endif 
    148  
    149141#else 
    150142   !!---------------------------------------------------------------------- 
  • branches/dev_001_GM/NEMO/TOP_SRC/trcdit.F90

    r763 r768  
    701701   END SUBROUTINE trcdib_wr 
    702702 
     703# endif  
     704 
    703705#else 
    704706   !!---------------------------------------------------------------------- 
    705707   !!  Dummy module :                                     No passive tracer 
    706708   !!---------------------------------------------------------------------- 
     709CONTAINS 
    707710   SUBROUTINE trcdit_wr( kt, kindic )                      ! Dummy routine 
    708711      INTEGER, INTENT ( in ) ::   kt, kindic 
  • branches/dev_001_GM/NEMO/TOP_SRC/trcini.F90

    r766 r768  
    77   !!             1.0  !  2005-03  (O. Aumont, A. El Moussaoui) F90 
    88   !!              -   !  2005-10  (C. Ethe) Module 
     9   !!             2.0  !  2007-12  (C. Ethe, G. Madec) re-writing 
    910   !!---------------------------------------------------------------------- 
    1011   !!   trc_ini :   Initialization for passive tracer 
     
    1516   USE trcini_pisces   ! PISCES  initialisation 
    1617   USE trcini_my_trc   ! MY_TRC  initialisation 
     18   USE in_out_manager  ! I/O manager 
    1719 
    1820   IMPLICIT NONE 
     
    3840      !!             model (LOBSTER, PISCES, CFC, MY_TRC) 
    3941      !!------------------------------------------------------------------- 
    40  
     42      ! 
    4143      IF(lwp) WRITE(numout,*) 
    4244      IF(lwp) WRITE(numout,*) 'trc_ini : initial set up of the tracer models' 
     
    4749      ENDIF 
    4850 
    49       IF( lk_trc_pisces  ) THEN   ;   CALL trc_init_pisces      ! PISCES  bio-model 
     51      IF( lk_trc_pisces  ) THEN   ;   CALL trc_ini_pisces       ! PISCES  bio-model 
    5052      ELSE                        ;   IF(lwp) WRITE(numout,*) '          PISCES not used' 
    5153      ENDIF 
    5254 
    53       IF( lk_trc_cfc     ) THEN   ;   CALL trc_init_cfc         ! CFC     tracers 
     55      IF( lk_trc_cfc     ) THEN   ;   CALL trc_ini_cfc          ! CFC     tracers 
    5456      ELSE                        ;   IF(lwp) WRITE(numout,*) '          CFC not used' 
    5557      ENDIF 
    5658 
    57       IF( lk_trc_my_trc  ) THEN   ;   CALL trc_init_my_trc      ! MY_TRC  tracers 
     59      IF( lk_my_trc      ) THEN   ;   CALL trc_ini_my_trc       ! MY_TRC  tracers 
    5860      ELSE                        ;   IF(lwp) WRITE(numout,*) '          MY_TRC not used' 
    5961      ENDIF 
  • branches/dev_001_GM/NEMO/TOP_SRC/trclec.F90

    r763 r768  
    4747      !!--------------------------------------------------------------------- 
    4848      INTEGER ::  ji 
    49       CHARACTER (len=32) :: clname 
     49      CHARACTER (len=32) ::   clname 
    5050      !! 
    5151      NAMELIST/nattrc/ nwritetrc, lrsttr, nrsttr, ctrcnm, ctrcnl, ctrcun, lutini     ! general    
  • branches/dev_001_GM/NEMO/TOP_SRC/trclsm.F90

    r763 r768  
    55   !!====================================================================== 
    66   !! History :   1.0  !  2004-03 (C. Ethe) Original code 
    7    !!---------------------------------------------------------------------- 
    8    !! NEMO/TOP 1.0 , LOCEAN-IPSL (2005)  
    9    !! $Header:$  
    10    !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 
     7   !!             2.0  !  2007-12  (C. Ethe, G. Madec) re-writing 
    118   !!---------------------------------------------------------------------- 
    129#if defined key_passivetrc 
     
    1411   !!   'key_passivetrc'                                    Passive tracers 
    1512   !!---------------------------------------------------------------------- 
    16    !!   trc_lsm   : eads specific namelist for sms terms 
     13   !!   trc_lsm   : reads specific namelist for sms terms 
    1714   !!---------------------------------------------------------------------- 
    18    USE oce_trc 
    19    USE trc 
    20    USE sms 
     15   USE par_trc         ! TOP parameters 
     16   USE trclsm_cfc      ! CFC     initialisation 
     17   USE trclsm_lobster  ! LOBSTER initialisation 
     18   USE trclsm_pisces   ! PISCES  initialisation 
     19   USE trclsm_my_trc   ! MY_TRC  initialisation 
     20   USE in_out_manager  ! I/O manager 
    2121 
    2222   IMPLICIT NONE                              
    2323   PRIVATE 
    2424 
    25    PUBLIC   trc_lsm      ! calles in ??? 
     25   PUBLIC   trc_lsm      ! called in initrc.F90 
    2626 
    27 #if defined key_trc_lobster1 
    2827   !!---------------------------------------------------------------------- 
    29    !!   'key_trc_lobster1'                        LOBSTER1 biological model   
     28   !! NEMO/TOP 2.0 , LOCEAN-IPSL (2007)  
     29   !! $Id$  
     30   !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 
    3031   !!---------------------------------------------------------------------- 
    31 #  include "trclsm.lobster1.h90" 
    3232 
    33 #elif defined key_trc_pisces 
    34    !!---------------------------------------------------------------------- 
    35    !!   'key_trc_pisces'                            PISCES biological model                   
    36    !!---------------------------------------------------------------------- 
    37 #  include "trclsm.pisces.h90" 
     33CONTAINS 
    3834 
    39 #elif defined key_cfc 
    40    !!---------------------------------------------------------------------- 
    41    !!   'key_cfc'                                                 CFC model                   
    42    !!---------------------------------------------------------------------- 
    43 #  include "trclsm.cfc.h90" 
     35   SUBROUTINE trc_lsm 
     36      !!---------------------------------------------------------------------- 
     37      !!                     ***  trc_lsm  ***   
     38      !! 
     39      !! ** Purpose :   read TOP namelists for the different tracers models 
     40      !! 
     41      !! ** Method  :   call the namelist read of each defined tracer 
     42      !!             model (LOBSTER, PISCES, CFC, MY_TRC) 
     43      !!---------------------------------------------------------------------- 
     44      ! 
     45      IF(lwp) WRITE(numout,*) 
     46      IF(lwp) WRITE(numout,*) 'trc_lsm : read namelist of the TOP models' 
     47      IF(lwp) WRITE(numout,*) '~~~~~~~' 
     48      ! 
     49      IF( lk_trc_lobster ) THEN   ;   CALL trc_lsm_lobster      ! LOBSTER bio-model 
     50      ELSE                        ;   IF(lwp) WRITE(numout,*) '          LOBSTER not used' 
     51      ENDIF 
    4452 
    45 # endif 
     53      IF( lk_trc_pisces  ) THEN   ;   CALL trc_lsm_pisces      ! PISCES  bio-model 
     54      ELSE                        ;   IF(lwp) WRITE(numout,*) '          PISCES not used' 
     55      ENDIF 
     56 
     57      IF( lk_trc_cfc     ) THEN   ;   CALL trc_lsm_cfc         ! CFC     tracers 
     58      ELSE                        ;   IF(lwp) WRITE(numout,*) '          CFC not used' 
     59      ENDIF 
     60 
     61      IF( lk_my_trc      ) THEN   ;   CALL trc_lsm_my_trc      ! MY_TRC  tracers 
     62      ELSE                        ;   IF(lwp) WRITE(numout,*) '          MY_TRC not used' 
     63      ENDIF 
     64      ! 
     65   END SUBROUTINE trc_lsm 
    4666 
    4767#else 
     
    5171CONTAINS 
    5272   SUBROUTINE trc_lsm                      ! Empty routine 
    53    END  SUBROUTINE  trc_lsm 
     73   END  SUBROUTINE trc_lsm 
    5474#endif   
    5575 
  • branches/dev_001_GM/NEMO/TOP_SRC/trcrst.F90

    r763 r768  
    1717   USE trc 
    1818   USE sms 
     19   USE trccfc          ! CFC variables 
    1920   USE trctrp_lec    
    2021   USE lib_mpp 
     
    3536   !!---------------------------------------------------------------------- 
    3637   !! NEMO/TOP 1.0 , LOCEAN-IPSL (2005)  
    37    !! $Id:$  
     38   !! $Id$  
    3839   !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 
    3940   !!---------------------------------------------------------------------- 
     
    8384      !! ** purpose  :   read passive tracer fields in restart files 
    8485      !!---------------------------------------------------------------------- 
    85       INTEGER  ::   ji, jj, jk, j 
    86       INTEGER  ::   iarak0     
     86      INTEGER  ::   j 
     87      INTEGER  ::   iarak0 
    8788      REAL(wp) ::   zkt, zarak0 
     89# if defined key_trc_pisces  
     90      REAL(wp) ::   ztrasum 
     91      INTEGER  ::   ji, jj, jk 
    8892      REAL(wp) ::   caralk, bicarb, co3 
    89       REAL(wp) ::   ztrasum 
     93# endif 
    9094      !!---------------------------------------------------------------------- 
    9195 
    9296      IF(lwp) WRITE(numout,*) 
    93       IF(lwp) WRITE(numout,*) 'trc_rst_read : read restart file of the passive tracers' 
     97      IF(lwp) WRITE(numout,*) 'trc_rst_read : read the TOP restart file' 
    9498      IF(lwp) WRITE(numout,*) '~~~~~~~~~~~~' 
    9599 
    96       ztrasum = 0.e0 
    97100      IF( ln_trcadv_cen2 .OR. ln_trcadv_tvd ) THEN   ;   iarak0 = 1 
    98101      ELSE                                           ;   iarak0 = 0 
     
    100103 
    101104      IF(lwp) WRITE(numout,*) 
    102       IF(lwp) WRITE(numout,*) ' the present run starts at the time step nit000 = ', nit000 
     105      IF(lwp) WRITE(numout,*) '   the present run starts at the time step nit000 = ', nit000 
    103106      IF(lwp .AND. iarak0 == 1 )   WRITE(numout,*) '   and needs previous fields for Arakawa sheme ??? ' 
    104       ENDIF 
     107 
    105108 
    106109      ! Time domain : restart 
     
    110113      SELECT CASE ( nrsttr ) 
    111114      CASE ( 0 ) 
    112          IF(lwp) WRITE(numout,*) ' nrsttr = 0 no control of nit000' 
     115         IF(lwp) WRITE(numout,*) '    nrsttr = 0 no control of nit000' 
    113116      CASE ( 1 ) 
    114          IF(lwp) WRITE(numout,*) ' nrsttr = 1 we control the date of nit000' 
     117         IF(lwp) WRITE(numout,*) '    nrsttr = 1 we control the date of nit000' 
    115118      CASE ( 2 ) 
    116          IF(lwp) WRITE(numout,*) ' nrsttr = 2 the date adatrj is read in restart file' 
     119         IF(lwp) WRITE(numout,*) '    nrsttr = 2 the date adatrj is read in restart file' 
    117120      CASE DEFAULT 
    118121         IF(lwp) WRITE(numout,*) '  ===>>>> nrsttr not equal 0, 1 or 2 : no control of the date' 
    119          IF(lwp) WRITE(numout,*) ' =======                   =========' 
     122         IF(lwp) WRITE(numout,*) '  =======                  =========' 
    120123      END SELECT 
    121124 
    122       CALL iom_open ( 'restart.trc', numrtr, kiolib = jprstlib ) 
     125      CALL iom_open( 'restart.trc', numrtr, kiolib = jprstlib ) 
    123126 
    124127      CALL iom_get( numrtr, 'kt'   , zkt    ) 
     
    127130      IF(lwp) WRITE(numout,*) 
    128131      IF(lwp) WRITE(numout,*) ' Info on the restart file read : ' 
    129       IF(lwp) WRITE(numout,*) '   time-step           : ', NINT( zkt    ) 
    130       IF(lwp) WRITE(numout,*) '   arakawa option      : ', NINT( zarak0 ) 
     132      IF(lwp) WRITE(numout,*) '    time-step           : ', NINT( zkt    ) 
     133      IF(lwp) WRITE(numout,*) '    arakawa option      : ', NINT( zarak0 ) 
    131134 
    132135 
     
    277280      !! ** purpose  :   write passive tracer fields in restart files 
    278281      !!---------------------------------------------------------------------- 
    279       INTEGER, INTENT( in ) ::    kt 
     282      INTEGER, INTENT( in ) ::   kt    ! ocean time-step index 
    280283      !! 
    281       INTEGER  :: ji,jj,jk,jn 
     284      INTEGER  :: ji, jj, jk, jn 
    282285      REAL(wp) :: zdiag_var, zdiag_varmin, zdiag_varmax, zdiag_tot 
    283286      REAL(wp) :: zder 
     
    289292         ! ------------------ 
    290293         IF(lwp) WRITE(numout,*) 
    291          IF(lwp) WRITE(numout,*) 'trc_wri : write the passive tracer restart file (NetCDF) ',   & 
    292             &                              'at it= ',kt,' date= ',ndastp 
    293          IF(lwp) WRITE(numout,*) '~~~~~~~~~' 
     294         IF(lwp) WRITE(numout,*) 'trc_wri : write the TOP restart file (NetCDF) at it= ', kt, ' date= ', ndastp 
     295         IF(lwp) WRITE(numout,*) '~~~~~~~' 
    294296 
    295297 
     
    319321         DO jn = 1, jptra 
    320322            CALL iom_rstput( kt, nitrst, numrtw, 'qint'//ctrcnm(jn), qint(:,:,jn) ) 
    321             CALL iom_rstput( kt, nitrst, numrtw, 'qtr'//ctrcnm(jn) , qtr( :,:,jn) ) 
     323            CALL iom_rstput( kt, nitrst, numrtw, 'qtr'//ctrcnm(jn) , qtr (:,:,jn) ) 
    322324         END DO 
    323325#endif 
     
    354356            zdiag_var = zdiag_var / areatot 
    355357 
    356             IF(lwp) WRITE(numout,*) 'MEAN NO ', jn, ctrcnm(jn), ' =', zdiag_var,   & 
    357                &                    'MIN= ', zdiag_varmin, 'MAX= ', zdiag_varmax 
    358          END DO 
    359  
    360          zdiag_tot=zdiag_tot 
    361          zder=((zdiag_tot-trai)/trai)*100._wp 
    362          IF (lwp) WRITE(numout,*) 'Integral of all tracers over the full domain  =',zdiag_tot 
    363          IF (lwp) WRITE(numout,*) 'Drift of the sum of all tracers =',zder, '%' 
     358            IF(lwp) WRITE(numout,*) '   MEAN NO ', jn, ctrcnm(jn), ' = ', zdiag_var,   & 
     359               &                    ' MIN = ', zdiag_varmin, ' MAX = ', zdiag_varmax 
     360         END DO 
     361 
     362         zder = ( ( zdiag_tot - trai ) / trai ) * 100._wp 
     363         IF(lwp) WRITE(numout,*) '   Integral of all tracers over the full domain  = ', zdiag_tot 
     364         IF(lwp) WRITE(numout,*) '   Drift of the sum of all tracers =', zder, ' %' 
    364365 
    365366         CALL iom_close(numrtw) 
Note: See TracChangeset for help on using the changeset viewer.