Changeset 768
- Timestamp:
- 2007-12-16T15:46:18+01:00 (16 years ago)
- 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 16 16 PUBLIC 17 17 18 INTEGER, PUBLIC, PARAMETER :: jp_lp = jp_lobster + jp_pisces !: cumulative number of passive tracers 19 18 20 #if defined key_cfc 19 21 !!--------------------------------------------------------------------- … … 27 29 28 30 ! 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 tracers30 31 INTEGER, PUBLIC, PARAMETER :: jp11 = jp_lp + 1 !: CFC-11 31 32 INTEGER, PUBLIC, PARAMETER :: jp12 = jp_lp + 2 !: CFC-12 … … 41 42 #endif 42 43 43 ! Starting/ending CFC do-loop indices (N.B. no CFC : jp l_cfc < jpf_cfcthe do-loop are never done)44 INTEGER, PUBLIC, PARAMETER :: jp f_cfc= jp_lp + 1 !: First index of CFC tracers45 INTEGER, PUBLIC, PARAMETER :: jp l_cfc= jp_lp + jp_cfc !: Last index of CFC tracers44 ! 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 46 47 47 48 !!====================================================================== -
branches/dev_001_GM/NEMO/TOP_SRC/CFC/trccfc.F90
r765 r768 25 25 PUBLIC trc_cfc ! called in ??? 26 26 27 INTEGER , P ARAMETER :: jpyear = 100 ! temporal parameter28 INTEGER , P ARAMETER :: jphem = 2 ! parameter for the 2 hemispheres27 INTEGER , PUBLIC, PARAMETER :: jpyear = 100 ! temporal parameter 28 INTEGER , PUBLIC, PARAMETER :: jphem = 2 ! parameter for the 2 hemispheres 29 29 INTEGER , PUBLIC :: ndate_beg ! initial calendar date (aammjj) for CFC 30 30 INTEGER , PUBLIC :: nyear_res ! restoring time constant (year) 31 31 INTEGER , PUBLIC :: nyear_beg ! initial year (aa) 32 32 33 REAL(wp), PUBLIC, DIMENSION(jpyear,jphem, jp f_cfc:jpl_cfc) :: p_cfc ! partial hemispheric pressure for CFC33 REAL(wp), PUBLIC, DIMENSION(jpyear,jphem, jp_cfc0:jp_cfc1) :: p_cfc ! partial hemispheric pressure for CFC 34 34 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: xphem ! spatial interpolation factor for patm 35 REAL(wp), PUBLIC, DIMENSION(jpi,jpj ,jp f_cfc:jpl_cfc) :: qtr ! input function36 REAL(wp), PUBLIC, DIMENSION(jpi,jpj ,jp f_cfc:jpl_cfc) :: qint ! flux function35 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 37 37 38 38 REAL(wp), DIMENSION(jptra) :: soa1, soa2, soa3, soa4 ! coefficient for solubility of CFC [mol/l/atm] … … 50 50 !!---------------------------------------------------------------------- 51 51 !! NEMO/TOP 2.0 , LOCEAN-IPSL (2007) 52 !! $Id :$52 !! $Id$ 53 53 !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 54 54 !!---------------------------------------------------------------------- … … 107 107 108 108 ! !------------! 109 DO jn = jp f_cfc, jpl_cfc! CFC loop !109 DO jn = jp_cfc0, jp_cfc1 ! CFC loop ! 110 110 ! !------------! 111 111 ! time interpolation at time kt … … 180 180 !!--------------------------------------------------------------------- 181 181 182 DO jn = 1, jptra182 DO jn = jp_cfc0, jp_cfc1 183 183 IF ( jn == jp11 ) THEN 184 184 ! coefficient for solubility of CFC11 in mol/l/atm … … 214 214 sca4(jn) = -0.067430 215 215 ENDIF 216 ENDDO 217 218 DO jn = 1, jptra 216 219 217 WRITE(numout,*) 'coefficient for solubility of tracer',ctrcnm(jn) 220 218 WRITE(numout,*) soa1(jn), soa2(jn),soa3(jn), soa4(jn), & -
branches/dev_001_GM/NEMO/TOP_SRC/CFC/trcini_cfc.F90
r766 r768 12 12 !! trc_ini_cfc : CFC model initialisation 13 13 !!---------------------------------------------------------------------- 14 USE oce_trc ! Ocean variables 14 15 USE par_trc ! TOP parameters 16 USE trc ! TOP variables 15 17 USE trccfc ! CFC sms trends 16 18 … … 28 30 !!---------------------------------------------------------------------- 29 31 !! NEMO/TOP 2.0 , LOCEAN-IPSL (2007) 30 !! $Id :$32 !! $Id$ 31 33 !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 32 34 !!---------------------------------------------------------------------- … … 52 54 ! Initialization of boundaries conditions 53 55 ! --------------------------------------- 54 pp_cfc(:,:,:) = 0.e055 56 qtr (:,:,:) = 0.e0 56 57 xphem (:,:) = 0.e0 57 DO jn = 1, jptra58 DO jn = jp_cfc0, jp_cfc1 58 59 DO jm = 1, jphem 59 60 DO jl = 1, jpyear … … 71 72 WRITE(numout,*) 'Initialization de qint ; No restart : qint equal zero ' 72 73 ENDIF 73 DO jn = 1, jptra74 DO jn = jp_cfc0, jp_cfc1 74 75 qint(:,:,jn) = 0.e0 75 76 END DO … … 88 89 REWIND(inum) 89 90 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 94 92 READ(inum,'(1x)') 95 93 END DO 96 94 97 98 ! Read file 99 ! --------- 100 DO jn = 31, 98 95 DO jn = 31, 98 ! Read file 101 96 READ(inum,*) zyy, p_cfc(jn,1,jp11), p_cfc(jn,1,jp12), & 102 97 & p_cfc(jn,2,jp11), p_cfc(jn,2,jp12) … … 106 101 END DO 107 102 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 109 104 p_cfc(33,1:2,jp11) = 8.e-4 110 105 p_cfc(34,1:2,jp11) = 1.e-6 … … 115 110 p_cfc(39,1:2,jp11) = 1.e-2 116 111 117 118 IF(lwp) THEN 112 IF(lwp) THEN ! Control print 119 113 WRITE(numout,*) 120 114 WRITE(numout,*) ' Year p11HN p11HS p12HN p12HS ' -
branches/dev_001_GM/NEMO/TOP_SRC/CFC/trclsm_cfc.F90
r764 r768 1 MODULE 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 1 7 !!---------------------------------------------------------------------- 2 !! *** trclsm.cfc.h90 *** 3 !! TOP : Definition some run parameter for CFC chemical model 8 #if defined key_cfc 4 9 !!---------------------------------------------------------------------- 5 !! History : 1.0 ! 2003-08 (C. Ethe) Original code10 !! 'key_cfc' CFC tracers 6 11 !!---------------------------------------------------------------------- 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 7 24 8 25 !!---------------------------------------------------------------------- 9 !! NEMO/TOP 1.0 , LOCEAN-IPSL (2005)10 !! $Id 26 !! NEMO/TOP 2.0 , LOCEAN-IPSL (2007) 27 !! $Id$ 11 28 !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 12 29 !!---------------------------------------------------------------------- … … 14 31 CONTAINS 15 32 16 SUBROUTINE trc_lsm 33 SUBROUTINE trc_lsm_cfc 17 34 !!------------------------------------------------------------------- 18 !! *** ROUTINE trc_lsm ***35 !! *** ROUTINE trc_lsm_cfc *** 19 36 !! 20 37 !! ** Purpose : Definition some run parameter for CFC model … … 50 67 IF(lwp) WRITE(numout,*) ' initial year (aa) nyear_beg = ', nyear_beg 51 68 ! 52 END SUBROUTINE trc_lsm 69 END SUBROUTINE trc_lsm_cfc 70 71 #else 72 !!---------------------------------------------------------------------- 73 !! Dummy module : No CFC 74 !!---------------------------------------------------------------------- 75 CONTAINS 76 SUBROUTINE trc_lsm_cfc ! Empty routine 77 END SUBROUTINE trc_lsm_cfc 78 #endif 79 80 !!====================================================================== 81 END MODULE trclsm_cfc -
branches/dev_001_GM/NEMO/TOP_SRC/LOBSTER/par_LOBSTER.F90
r767 r768 14 14 PUBLIC 15 15 16 # 16 #if defined key_trc_lobster1 17 17 !!--------------------------------------------------------------------- 18 18 !! 'key_trc_lobster1' : LOBSTER model … … 31 31 INTEGER, PUBLIC, PARAMETER :: jpnh4 = 5 !: ammonium concentration [mmoleN/m3] 32 32 INTEGER, PUBLIC, PARAMETER :: jpdom = 6 !: dissolved organic matter [mmoleN/m3] 33 !34 INTEGER, PUBLIC, PARAMETER :: jpf_lob = 1 !: First index of LOBSTER tracers35 INTEGER, PUBLIC, PARAMETER :: jpl_lob = jp_lobster !: Last index of LOBSTER tracers36 33 37 34 ! 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 $ 1 MODULE 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$ 13 27 !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 14 28 !!---------------------------------------------------------------------- … … 16 30 CONTAINS 17 31 18 SUBROUTINE trc_lsm 32 SUBROUTINE trc_lsm_lobster 19 33 !!---------------------------------------------------------------------- 20 !! *** trc_lsm ***34 !! *** trc_lsm_lobster *** 21 35 !! 22 36 !! ** Purpose : read LOBSTER namelist … … 43 57 44 58 IF(lwp) WRITE(numout,*) 45 IF(lwp) WRITE(numout,*) ' trc_lsm : read LOBSTER 1namelists'46 IF(lwp) WRITE(numout,*) ' ~~~~~~~ '59 IF(lwp) WRITE(numout,*) ' trc_lsm_lobster : read LOBSTER namelists' 60 IF(lwp) WRITE(numout,*) ' ~~~~~~~~~~~~~~~' 47 61 48 62 ! ! Open the namelist file … … 203 217 #endif 204 218 ! 205 END SUBROUTINE trc_lsm 219 END SUBROUTINE trc_lsm_lobster 220 221 #else 222 !!---------------------------------------------------------------------- 223 !! Dummy module : No LOBSTER 224 !!---------------------------------------------------------------------- 225 CONTAINS 226 SUBROUTINE trc_lsm_lobster ! Empty routine 227 END SUBROUTINE trc_lsm_lobster 228 #endif 229 230 !!====================================================================== 231 END MODULE trclsm_lobster -
branches/dev_001_GM/NEMO/TOP_SRC/MY_TRC/par_MY_TRC.F90
r767 r768 17 17 PUBLIC 18 18 19 INTEGER, PUBLIC, PARAMETER :: jp_lpc = jp_lobster + jp_pisces + jp_cfc !: cumulative number of TRC 20 19 21 #if defined key_trc_my_trc 20 22 !!--------------------------------------------------------------------- … … 28 30 29 31 ! 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 34 35 35 36 #else … … 45 46 46 47 ! 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 tracers48 INTEGER, PUBLIC, PARAMETER :: jpl_myt = jp_l + jp_my_trc !: Last index of CFC passive tracers48 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 49 50 50 51 !!====================================================================== -
branches/dev_001_GM/NEMO/TOP_SRC/PISCES/par_PISCES.F90
r767 r768 15 15 PUBLIC 16 16 17 INTEGER, PUBLIC, PARAMETER :: jp_l = jp_lobster !: cumulative number of already defined TRC 18 17 19 #if defined key_trc_pisces && defined key_trc_kriest 18 20 !!--------------------------------------------------------------------- … … 29 31 ! WARNING: be carefull about the order when reading the restart 30 32 ! !!gm this warning should be obsolet with IOM 31 INTEGER, PUBLIC, PARAMETER :: jp_l = jp_lobster !: cumulative number of already defined TRC32 33 INTEGER, PUBLIC, PARAMETER :: jpdic = jp_l + 1 !: dissolved inoganic carbon concentration 33 34 INTEGER, PUBLIC, PARAMETER :: jptal = jp_l + 2 !: total alkalinity … … 68 69 ! WARNING: be carefull about the order when reading the restart 69 70 ! !!gm this warning should be obsolet with IOM 70 INTEGER, PUBLIC, PARAMETER :: jp_l = jp_lobster !: cumulative number of TRC71 71 INTEGER, PUBLIC, PARAMETER :: jpdic = jp_l + 1 !: dissolved inoganic carbon concentration 72 72 INTEGER, PUBLIC, PARAMETER :: jptal = jp_l + 2 !: total alkalinity -
branches/dev_001_GM/NEMO/TOP_SRC/PISCES/trclsm_pisces.F90
r764 r768 3 3 !! TOP : Definition some run parameter for PISCES biological model 4 4 !!---------------------------------------------------------------------- 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$ 13 29 !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 14 30 !!---------------------------------------------------------------------- … … 16 32 CONTAINS 17 33 18 SUBROUTINE trc_lsm 34 SUBROUTINE trc_lsm_pisces 19 35 !!---------------------------------------------------------------------- 20 !! *** trc_lsm ***36 !! *** trc_lsm_pisces *** 21 37 !! 22 38 !! ** Purpose : read PISCES namelist … … 47 63 !!---------------------------------------------------------------------- 48 64 49 50 65 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,*) ' ~~~~~~~~~~~~~~' 53 68 54 69 … … 202 217 #endif 203 218 ! 204 END SUBROUTINE trc_lsm 219 END SUBROUTINE trc_lsm_pisces 220 221 #else 222 !!---------------------------------------------------------------------- 223 !! Dummy module : No PISCES bio-model 224 !!---------------------------------------------------------------------- 225 CONTAINS 226 SUBROUTINE trc_lsm_pisces ! Empty routine 227 END SUBROUTINE trc_lsm_pisces 228 #endif 229 230 !!====================================================================== 231 END MODULE trclsm_pisces -
branches/dev_001_GM/NEMO/TOP_SRC/par_trc.F90
r765 r768 11 11 !!---------------------------------------------------------------------- 12 12 !! NEMO/TOP 2.0 , LOCEAN-IPSL (2007) 13 !! $Id :$13 !! $Id$ 14 14 !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 15 15 !!---------------------------------------------------------------------- 16 USE par_kind ! kind parameters 17 ! 16 18 USE par_LOBSTER ! LOBSTER model 17 19 USE par_PISCES ! PISCES model -
branches/dev_001_GM/NEMO/TOP_SRC/trc.F90
r763 r768 10 10 !!---------------------------------------------------------------------- 11 11 !! NEMO/TOP 1.0 , LOCEAN-IPSL (2005) 12 !! $Id :$12 !! $Id$ 13 13 !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 14 14 !!---------------------------------------------------------------------- … … 139 139 # endif 140 140 141 !! 1D configuration142 !! --------------------------------------------------143 # if defined key_cfg_1d144 LOGICAL, PARAMETER :: lk_trccfg_1d = .TRUE. !: 1D pass. tracer configuration flag145 # else146 LOGICAL, PARAMETER :: lk_trccfg_1d = .FALSE. !: 1D pass. tracer configuration flag147 # endif148 149 141 #else 150 142 !!---------------------------------------------------------------------- -
branches/dev_001_GM/NEMO/TOP_SRC/trcdit.F90
r763 r768 701 701 END SUBROUTINE trcdib_wr 702 702 703 # endif 704 703 705 #else 704 706 !!---------------------------------------------------------------------- 705 707 !! Dummy module : No passive tracer 706 708 !!---------------------------------------------------------------------- 709 CONTAINS 707 710 SUBROUTINE trcdit_wr( kt, kindic ) ! Dummy routine 708 711 INTEGER, INTENT ( in ) :: kt, kindic -
branches/dev_001_GM/NEMO/TOP_SRC/trcini.F90
r766 r768 7 7 !! 1.0 ! 2005-03 (O. Aumont, A. El Moussaoui) F90 8 8 !! - ! 2005-10 (C. Ethe) Module 9 !! 2.0 ! 2007-12 (C. Ethe, G. Madec) re-writing 9 10 !!---------------------------------------------------------------------- 10 11 !! trc_ini : Initialization for passive tracer … … 15 16 USE trcini_pisces ! PISCES initialisation 16 17 USE trcini_my_trc ! MY_TRC initialisation 18 USE in_out_manager ! I/O manager 17 19 18 20 IMPLICIT NONE … … 38 40 !! model (LOBSTER, PISCES, CFC, MY_TRC) 39 41 !!------------------------------------------------------------------- 40 42 ! 41 43 IF(lwp) WRITE(numout,*) 42 44 IF(lwp) WRITE(numout,*) 'trc_ini : initial set up of the tracer models' … … 47 49 ENDIF 48 50 49 IF( lk_trc_pisces ) THEN ; CALL trc_ini t_pisces! PISCES bio-model51 IF( lk_trc_pisces ) THEN ; CALL trc_ini_pisces ! PISCES bio-model 50 52 ELSE ; IF(lwp) WRITE(numout,*) ' PISCES not used' 51 53 ENDIF 52 54 53 IF( lk_trc_cfc ) THEN ; CALL trc_ini t_cfc! CFC tracers55 IF( lk_trc_cfc ) THEN ; CALL trc_ini_cfc ! CFC tracers 54 56 ELSE ; IF(lwp) WRITE(numout,*) ' CFC not used' 55 57 ENDIF 56 58 57 IF( lk_ trc_my_trc ) THEN ; CALL trc_init_my_trc! MY_TRC tracers59 IF( lk_my_trc ) THEN ; CALL trc_ini_my_trc ! MY_TRC tracers 58 60 ELSE ; IF(lwp) WRITE(numout,*) ' MY_TRC not used' 59 61 ENDIF -
branches/dev_001_GM/NEMO/TOP_SRC/trclec.F90
r763 r768 47 47 !!--------------------------------------------------------------------- 48 48 INTEGER :: ji 49 CHARACTER (len=32) :: clname49 CHARACTER (len=32) :: clname 50 50 !! 51 51 NAMELIST/nattrc/ nwritetrc, lrsttr, nrsttr, ctrcnm, ctrcnl, ctrcun, lutini ! general -
branches/dev_001_GM/NEMO/TOP_SRC/trclsm.F90
r763 r768 5 5 !!====================================================================== 6 6 !! 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 11 8 !!---------------------------------------------------------------------- 12 9 #if defined key_passivetrc … … 14 11 !! 'key_passivetrc' Passive tracers 15 12 !!---------------------------------------------------------------------- 16 !! trc_lsm : eads specific namelist for sms terms13 !! trc_lsm : reads specific namelist for sms terms 17 14 !!---------------------------------------------------------------------- 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 21 21 22 22 IMPLICIT NONE 23 23 PRIVATE 24 24 25 PUBLIC trc_lsm ! calle s in ???25 PUBLIC trc_lsm ! called in initrc.F90 26 26 27 #if defined key_trc_lobster128 27 !!---------------------------------------------------------------------- 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) 30 31 !!---------------------------------------------------------------------- 31 # include "trclsm.lobster1.h90"32 32 33 #elif defined key_trc_pisces 34 !!---------------------------------------------------------------------- 35 !! 'key_trc_pisces' PISCES biological model 36 !!---------------------------------------------------------------------- 37 # include "trclsm.pisces.h90" 33 CONTAINS 38 34 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 44 52 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 46 66 47 67 #else … … 51 71 CONTAINS 52 72 SUBROUTINE trc_lsm ! Empty routine 53 END SUBROUTINE 73 END SUBROUTINE trc_lsm 54 74 #endif 55 75 -
branches/dev_001_GM/NEMO/TOP_SRC/trcrst.F90
r763 r768 17 17 USE trc 18 18 USE sms 19 USE trccfc ! CFC variables 19 20 USE trctrp_lec 20 21 USE lib_mpp … … 35 36 !!---------------------------------------------------------------------- 36 37 !! NEMO/TOP 1.0 , LOCEAN-IPSL (2005) 37 !! $Id :$38 !! $Id$ 38 39 !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 39 40 !!---------------------------------------------------------------------- … … 83 84 !! ** purpose : read passive tracer fields in restart files 84 85 !!---------------------------------------------------------------------- 85 INTEGER :: j i, jj, jk, jn86 INTEGER :: iarak0 86 INTEGER :: jn 87 INTEGER :: iarak0 87 88 REAL(wp) :: zkt, zarak0 89 # if defined key_trc_pisces 90 REAL(wp) :: ztrasum 91 INTEGER :: ji, jj, jk 88 92 REAL(wp) :: caralk, bicarb, co3 89 REAL(wp) :: ztrasum 93 # endif 90 94 !!---------------------------------------------------------------------- 91 95 92 96 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' 94 98 IF(lwp) WRITE(numout,*) '~~~~~~~~~~~~' 95 99 96 ztrasum = 0.e097 100 IF( ln_trcadv_cen2 .OR. ln_trcadv_tvd ) THEN ; iarak0 = 1 98 101 ELSE ; iarak0 = 0 … … 100 103 101 104 IF(lwp) WRITE(numout,*) 102 IF(lwp) WRITE(numout,*) ' the present run starts at the time step nit000 = ', nit000105 IF(lwp) WRITE(numout,*) ' the present run starts at the time step nit000 = ', nit000 103 106 IF(lwp .AND. iarak0 == 1 ) WRITE(numout,*) ' and needs previous fields for Arakawa sheme ??? ' 104 ENDIF 107 105 108 106 109 ! Time domain : restart … … 110 113 SELECT CASE ( nrsttr ) 111 114 CASE ( 0 ) 112 IF(lwp) WRITE(numout,*) ' nrsttr = 0 no control of nit000'115 IF(lwp) WRITE(numout,*) ' nrsttr = 0 no control of nit000' 113 116 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' 115 118 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' 117 120 CASE DEFAULT 118 121 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,*) ' ======= =========' 120 123 END SELECT 121 124 122 CALL iom_open 125 CALL iom_open( 'restart.trc', numrtr, kiolib = jprstlib ) 123 126 124 127 CALL iom_get( numrtr, 'kt' , zkt ) … … 127 130 IF(lwp) WRITE(numout,*) 128 131 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 ) 131 134 132 135 … … 277 280 !! ** purpose : write passive tracer fields in restart files 278 281 !!---------------------------------------------------------------------- 279 INTEGER, INTENT( in ) :: kt282 INTEGER, INTENT( in ) :: kt ! ocean time-step index 280 283 !! 281 INTEGER :: ji, jj,jk,jn284 INTEGER :: ji, jj, jk, jn 282 285 REAL(wp) :: zdiag_var, zdiag_varmin, zdiag_varmax, zdiag_tot 283 286 REAL(wp) :: zder … … 289 292 ! ------------------ 290 293 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,*) '~~~~~~~' 294 296 295 297 … … 319 321 DO jn = 1, jptra 320 322 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) ) 322 324 END DO 323 325 #endif … … 354 356 zdiag_var = zdiag_var / areatot 355 357 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, ' %' 364 365 365 366 CALL iom_close(numrtw)
Note: See TracChangeset
for help on using the changeset viewer.