Changeset 7646 for trunk/NEMOGCM/NEMO/TOP_SRC/MY_TRC
- Timestamp:
- 2017-02-06T10:25:03+01:00 (7 years ago)
- Location:
- trunk/NEMOGCM/NEMO/TOP_SRC/MY_TRC
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMOGCM/NEMO/TOP_SRC/MY_TRC/par_my_trc.F90
r3680 r7646 10 10 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 11 11 !!---------------------------------------------------------------------- 12 USE par_pisces , ONLY : jp_pisces !: number of tracers in PISCES13 USE par_pisces , ONLY : jp_pisces_2d !: number of 2D diag in PISCES14 USE par_pisces , ONLY : jp_pisces_3d !: number of 3D diag in PISCES15 USE par_pisces , ONLY : jp_pisces_trd !: number of biological diag in PISCES16 17 USE par_cfc , ONLY : jp_cfc !: number of tracers in CFC18 USE par_cfc , ONLY : jp_cfc_2d !: number of tracers in CFC19 USE par_cfc , ONLY : jp_cfc_3d !: number of tracers in CFC20 USE par_cfc , ONLY : jp_cfc_trd !: number of tracers in CFC21 22 USE par_c14b , ONLY : jp_c14b !: number of tracers in C1423 USE par_c14b , ONLY : jp_c14b_2d !: number of tracers in C1424 USE par_c14b , ONLY : jp_c14b_3d !: number of tracers in C1425 USE par_c14b , ONLY : jp_c14b_trd !: number of tracers in C1426 12 27 13 IMPLICIT NONE 28 14 29 INTEGER, PARAMETER :: jp_lm = jp_pisces + jp_cfc + jp_c14b !:30 INTEGER, PARAMETER :: jp_lm_2d = jp_pisces_2d + jp_cfc_2d + jp_c14b_2d !:31 INTEGER, PARAMETER :: jp_lm_3d = jp_pisces_3d + jp_cfc_3d + jp_c14b_3d !:32 INTEGER, PARAMETER :: jp_lm_trd = jp_pisces_trd + jp_cfc_trd + jp_c14b_trd !:33 34 #if defined key_my_trc35 !!---------------------------------------------------------------------36 !! 'key_my_trc' user defined tracers (MY_TRC)37 !!---------------------------------------------------------------------38 LOGICAL, PUBLIC, PARAMETER :: lk_my_trc = .TRUE. !: PTS flag39 INTEGER, PUBLIC, PARAMETER :: jp_my_trc = 1 !: number of PTS tracers40 INTEGER, PUBLIC, PARAMETER :: jp_my_trc_2d = 0 !: additional 2d output arrays ('key_trc_diaadd')41 INTEGER, PUBLIC, PARAMETER :: jp_my_trc_3d = 0 !: additional 3d output arrays ('key_trc_diaadd')42 INTEGER, PUBLIC, PARAMETER :: jp_my_trc_trd = 0 !: number of sms trends for MY_TRC43 44 ! assign an index in trc arrays for each PTS prognostic variables45 INTEGER, PUBLIC, PARAMETER :: jpmyt1 = jp_lm + 1 !: 1st MY_TRC tracer46 47 #else48 !!---------------------------------------------------------------------49 !! Default No user defined tracers (MY_TRC)50 !!---------------------------------------------------------------------51 LOGICAL, PUBLIC, PARAMETER :: lk_my_trc = .FALSE. !: MY_TRC flag52 INTEGER, PUBLIC, PARAMETER :: jp_my_trc = 0 !: No MY_TRC tracers53 INTEGER, PUBLIC, PARAMETER :: jp_my_trc_2d = 0 !: No MY_TRC additional 2d output arrays54 INTEGER, PUBLIC, PARAMETER :: jp_my_trc_3d = 0 !: No MY_TRC additional 3d output arrays55 INTEGER, PUBLIC, PARAMETER :: jp_my_trc_trd = 0 !: number of sms trends for MY_TRC56 #endif57 58 15 ! Starting/ending PISCES do-loop indices (N.B. no PISCES : jpl_pcs < jpf_pcs the do-loop are never done) 59 INTEGER, PUBLIC, PARAMETER :: jp_myt0 = jp_lm + 1 !: First index of MY_TRC passive tracers 60 INTEGER, PUBLIC, PARAMETER :: jp_myt1 = jp_lm + jp_my_trc !: Last index of MY_TRC passive tracers 61 INTEGER, PUBLIC, PARAMETER :: jp_myt0_2d = jp_lm_2d + 1 !: First index of MY_TRC passive tracers 62 INTEGER, PUBLIC, PARAMETER :: jp_myt1_2d = jp_lm_2d + jp_my_trc_2d !: Last index of MY_TRC passive tracers 63 INTEGER, PUBLIC, PARAMETER :: jp_myt0_3d = jp_lm_3d + 1 !: First index of MY_TRC passive tracers 64 INTEGER, PUBLIC, PARAMETER :: jp_myt1_3d = jp_lm_3d + jp_my_trc_3d !: Last index of MY_TRC passive tracers 65 INTEGER, PUBLIC, PARAMETER :: jp_myt0_trd = jp_lm_trd + 1 !: First index of MY_TRC passive tracers 66 INTEGER, PUBLIC, PARAMETER :: jp_myt1_trd = jp_lm_trd + jp_my_trc_trd !: Last index of MY_TRC passive tracers 67 16 INTEGER, PUBLIC :: jp_myt0 !: First index of MY_TRC passive tracers 17 INTEGER, PUBLIC :: jp_myt1 !: Last index of MY_TRC passive tracers 68 18 !!====================================================================== 69 19 END MODULE par_my_trc -
trunk/NEMOGCM/NEMO/TOP_SRC/MY_TRC/trcice_my_trc.F90
r5439 r7646 3 3 !! *** MODULE trcice_my_trc *** 4 4 !!---------------------------------------------------------------------- 5 #if defined key_my_trc 5 !! trc_ice_my_trc : MY_TRC model seaice coupling routine 6 6 !!---------------------------------------------------------------------- 7 !! 'key_my_trc' CFC tracers 8 !!---------------------------------------------------------------------- 9 !! trc_ice_my_trc : MY_TRC model main routine 7 !! History : ! 2016 (C. Ethe, T. Lovato) Revised architecture 10 8 !!---------------------------------------------------------------------- 11 9 USE par_trc ! TOP parameters … … 19 17 20 18 !!---------------------------------------------------------------------- 21 !! NEMO/TOP 3.3 , NEMO Consortium (2010)22 !! $Id : trcice_my_trc.F90 4990 2014-12-15 16:42:49Z timgraham$19 !! NEMO/TOP 4.0 , NEMO Consortium (2016) 20 !! $Id$ 23 21 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 24 22 !!---------------------------------------------------------------------- … … 34 32 END SUBROUTINE trc_ice_ini_my_trc 35 33 36 #else37 !!----------------------------------------------------------------------38 !! Dummy module No MY_TRC model39 !!----------------------------------------------------------------------40 CONTAINS41 SUBROUTINE trc_ice_ini_my_trc ! Empty routine42 END SUBROUTINE trc_ice_ini_my_trc43 #endif44 45 34 !!====================================================================== 46 35 END MODULE trcice_my_trc -
trunk/NEMOGCM/NEMO/TOP_SRC/MY_TRC/trcini_my_trc.F90
r5385 r7646 4 4 !! TOP : initialisation of the MY_TRC tracers 5 5 !!====================================================================== 6 !! History : 2.0 ! 2007-12 (C. Ethe, G. Madec) Original code 7 !!---------------------------------------------------------------------- 8 #if defined key_my_trc 9 !!---------------------------------------------------------------------- 10 !! 'key_my_trc' CFC tracers 6 !! History : ! 2007 (C. Ethe, G. Madec) Original code 7 !! ! 2016 (C. Ethe, T. Lovato) Revised architecture 11 8 !!---------------------------------------------------------------------- 12 9 !! trc_ini_my_trc : MY_TRC model initialisation … … 15 12 USE oce_trc 16 13 USE trc 14 USE par_my_trc 15 USE trcnam_my_trc ! MY_TRC SMS namelist 17 16 USE trcsms_my_trc 18 17 … … 23 22 24 23 !!---------------------------------------------------------------------- 25 !! NEMO/TOP 3.3 , NEMO Consortium (2010)24 !! NEMO/TOP 4.0 , NEMO Consortium (2016) 26 25 !! $Id$ 27 26 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) … … 37 36 !! ** Method : - Read the namcfc namelist and check the parameter values 38 37 !!---------------------------------------------------------------------- 39 38 ! 39 CALL trc_nam_my_trc 40 ! 40 41 ! ! Allocate MY_TRC arrays 41 42 IF( trc_sms_my_trc_alloc() /= 0 ) CALL ctl_stop( 'STOP', 'trc_ini_my_trc: unable to allocate MY_TRC arrays' ) … … 53 54 END SUBROUTINE trc_ini_my_trc 54 55 55 #else56 !!----------------------------------------------------------------------57 !! Dummy module No MY_TRC model58 !!----------------------------------------------------------------------59 CONTAINS60 SUBROUTINE trc_ini_my_trc ! Empty routine61 END SUBROUTINE trc_ini_my_trc62 #endif63 64 56 !!====================================================================== 65 57 END MODULE trcini_my_trc -
trunk/NEMOGCM/NEMO/TOP_SRC/MY_TRC/trcnam_my_trc.F90
r3680 r7646 4 4 !! TOP : initialisation of some run parameters for MY_TRC bio-model 5 5 !!====================================================================== 6 !! History : 2.0 ! 2007-12 (C. Ethe, G. Madec) Original code 7 !!---------------------------------------------------------------------- 8 #if defined key_my_trc 9 !!---------------------------------------------------------------------- 10 !! 'key_my_trc' : MY_TRC model 6 !! History : ! 2007 (C. Ethe, G. Madec) Original code 7 !! ! 2016 (C. Ethe, T. Lovato) Revised architecture 11 8 !!---------------------------------------------------------------------- 12 9 !! trc_nam_my_trc : MY_TRC model initialisation … … 22 19 23 20 !!---------------------------------------------------------------------- 24 !! NEMO/TOP 3.3 , NEMO Consortium (2010)21 !! NEMO/TOP 4.0 , NEMO Consortium (2016) 25 22 !! $Id$ 26 23 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) … … 43 40 END SUBROUTINE trc_nam_my_trc 44 41 45 #else46 !!----------------------------------------------------------------------47 !! Dummy module : No MY_TRC48 !!----------------------------------------------------------------------49 CONTAINS50 SUBROUTINE trc_nam_my_trc ! Empty routine51 END SUBROUTINE trc_nam_my_trc52 #endif53 54 42 !!====================================================================== 55 43 END MODULE trcnam_my_trc -
trunk/NEMOGCM/NEMO/TOP_SRC/MY_TRC/trcsms_my_trc.F90
r6140 r7646 4 4 !! TOP : Main module of the MY_TRC tracers 5 5 !!====================================================================== 6 !! History : 2.0 ! 2007-12 (C. Ethe, G. Madec) Original code 7 !!---------------------------------------------------------------------- 8 #if defined key_my_trc 9 !!---------------------------------------------------------------------- 10 !! 'key_my_trc' CFC tracers 6 !! History : ! 2007 (C. Ethe, G. Madec) Original code 7 !! ! 2016 (C. Ethe, T. Lovato) Revised architecture 11 8 !!---------------------------------------------------------------------- 12 9 !! trc_sms_my_trc : MY_TRC model main routine … … 18 15 USE trd_oce 19 16 USE trdtrc 20 USE trcbc, only : trc_bc _read17 USE trcbc, only : trc_bc 21 18 22 19 IMPLICIT NONE … … 29 26 30 27 !!---------------------------------------------------------------------- 31 !! NEMO/TOP 3.3 , NEMO Consortium (2010)28 !! NEMO/TOP 4.0 , NEMO Consortium (2016) 32 29 !! $Id$ 33 30 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) … … 57 54 IF( l_trdtrc ) CALL wrk_alloc( jpi, jpj, jpk, ztrmyt ) 58 55 59 CALL trc_bc _read( kt ) ! tracers: surface and lateral Boundary Conditions56 CALL trc_bc ( kt ) ! tracers: surface and lateral Boundary Conditions 60 57 61 58 ! add here the call to BGC model … … 74 71 END SUBROUTINE trc_sms_my_trc 75 72 76 77 73 INTEGER FUNCTION trc_sms_my_trc_alloc() 78 74 !!---------------------------------------------------------------------- … … 88 84 END FUNCTION trc_sms_my_trc_alloc 89 85 90 91 #else92 !!----------------------------------------------------------------------93 !! Dummy module No MY_TRC model94 !!----------------------------------------------------------------------95 CONTAINS96 SUBROUTINE trc_sms_my_trc( kt ) ! Empty routine97 INTEGER, INTENT( in ) :: kt98 WRITE(*,*) 'trc_sms_my_trc: You should not have seen this print! error?', kt99 END SUBROUTINE trc_sms_my_trc100 #endif101 102 86 !!====================================================================== 103 87 END MODULE trcsms_my_trc -
trunk/NEMOGCM/NEMO/TOP_SRC/MY_TRC/trcwri_my_trc.F90
r6140 r7646 2 2 !!====================================================================== 3 3 !! *** MODULE trcwri *** 4 !! my_trc : Output of my_trc tracers4 !! trc_wri_my_trc : outputs of concentration fields 5 5 !!====================================================================== 6 !! History : 1.0 ! 2009-05 (C. Ethe) Original code 6 #if defined key_top && defined key_iomput 7 7 !!---------------------------------------------------------------------- 8 #if defined key_top && defined key_my_trc && defined key_iomput 8 !! History : ! 2007 (C. Ethe, G. Madec) Original code 9 !! ! 2016 (C. Ethe, T. Lovato) Revised architecture 9 10 !!---------------------------------------------------------------------- 10 !! 'key_my_trc' my_trc model 11 !!---------------------------------------------------------------------- 12 !! trc_wri_my_trc : outputs of concentration fields 13 !!---------------------------------------------------------------------- 11 USE par_trc ! passive tracers common variables 14 12 USE trc ! passive tracers common variables 15 13 USE iom ! I/O manager … … 20 18 PUBLIC trc_wri_my_trc 21 19 20 !!---------------------------------------------------------------------- 21 !! NEMO/TOP 4.0 , NEMO Consortium (2016) 22 !! $Id$ 23 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 24 !!---------------------------------------------------------------------- 22 25 CONTAINS 23 26 … … 36 39 DO jn = jp_myt0, jp_myt1 37 40 cltra = TRIM( ctrcnm(jn) ) ! short title for tracer 38 IF( ln_trc_wri(jn) )CALL iom_put( cltra, trn(:,:,:,jn) )41 CALL iom_put( cltra, trn(:,:,:,jn) ) 39 42 END DO 40 43 ! … … 42 45 43 46 #else 44 !!---------------------------------------------------------------------- 45 !! Dummy module : No passive tracer 46 !!---------------------------------------------------------------------- 47 PUBLIC trc_wri_my_trc 47 48 48 CONTAINS 49 SUBROUTINE trc_wri_my_trc ! Empty routine 49 50 SUBROUTINE trc_wri_my_trc 51 ! 50 52 END SUBROUTINE trc_wri_my_trc 53 51 54 #endif 52 55 53 !!----------------------------------------------------------------------54 !! NEMO/TOP 3.3 , NEMO Consortium (2010)55 !! $Id: trcwri_my_trc.F90 3160 2011-11-20 14:27:18Z cetlod $56 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt)57 !!======================================================================58 56 END MODULE trcwri_my_trc
Note: See TracChangeset
for help on using the changeset viewer.