[268] | 1 | MODULE trcini |
---|
[763] | 2 | !!====================================================================== |
---|
| 3 | !! *** MODULE trcini *** |
---|
| 4 | !! TOP : Manage the passive tracer initialization |
---|
| 5 | !!====================================================================== |
---|
| 6 | !! History : - ! 2000-04 (O. Aumont, M.A. Foujols) original code |
---|
| 7 | !! 1.0 ! 2005-03 (O. Aumont, A. El Moussaoui) F90 |
---|
| 8 | !! - ! 2005-10 (C. Ethe) Module |
---|
| 9 | !!---------------------------------------------------------------------- |
---|
[335] | 10 | #if defined key_passivetrc |
---|
[274] | 11 | !!---------------------------------------------------------------------- |
---|
[763] | 12 | !! 'key_passivetrc' Passive tracers |
---|
[335] | 13 | !!---------------------------------------------------------------------- |
---|
[763] | 14 | !! trc_ini : Initialization for passive tracer |
---|
[340] | 15 | !!---------------------------------------------------------------------- |
---|
[335] | 16 | USE oce_trc |
---|
| 17 | USE trc |
---|
| 18 | USE sms |
---|
| 19 | USE lib_mpp |
---|
| 20 | USE lbclnk |
---|
[268] | 21 | |
---|
[335] | 22 | IMPLICIT NONE |
---|
| 23 | PRIVATE |
---|
[268] | 24 | |
---|
[763] | 25 | PUBLIC trc_ini ! called by ??? |
---|
[268] | 26 | |
---|
[763] | 27 | # if defined key_trc_lobster1 |
---|
[335] | 28 | !!---------------------------------------------------------------------- |
---|
| 29 | !! 'key_trc_lobster1' LOBSTER1 biological model |
---|
| 30 | !!---------------------------------------------------------------------- |
---|
| 31 | # include "trcini.lobster1.h90" |
---|
[268] | 32 | |
---|
[763] | 33 | # elif defined key_trc_pisces |
---|
[335] | 34 | !!---------------------------------------------------------------------- |
---|
| 35 | !! 'key_trc_pisces' PISCES biological model |
---|
| 36 | !!---------------------------------------------------------------------- |
---|
| 37 | # include "trcini.pisces.h90" |
---|
[268] | 38 | |
---|
[763] | 39 | # elif defined key_cfc |
---|
[335] | 40 | !!---------------------------------------------------------------------- |
---|
| 41 | !! 'key_cfc ' CFC model |
---|
| 42 | !!---------------------------------------------------------------------- |
---|
| 43 | # include "trcini.cfc.h90" |
---|
[268] | 44 | |
---|
[763] | 45 | # else |
---|
[335] | 46 | !!---------------------------------------------------------------------- |
---|
| 47 | !! Default option |
---|
| 48 | !!---------------------------------------------------------------------- |
---|
[763] | 49 | !!---------------------------------------------------------------------- |
---|
| 50 | !! NEMO/TOP 2.0 , LOCEAN-IPSL (2007) |
---|
| 51 | !! $Header:$ |
---|
| 52 | !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) |
---|
| 53 | !!---------------------------------------------------------------------- |
---|
[268] | 54 | |
---|
[335] | 55 | CONTAINS |
---|
[268] | 56 | |
---|
[335] | 57 | SUBROUTINE trc_ini |
---|
[763] | 58 | !!------------------------------------------------------------------- |
---|
[335] | 59 | !! *** ROUTINE trc_ini *** |
---|
| 60 | !! |
---|
[763] | 61 | !! ** Purpose : Initialization of all passive tracer to zero |
---|
| 62 | !! (default case) |
---|
| 63 | !!------------------------------------------------------------------- |
---|
| 64 | INTEGER :: ji ,jj ,jk ,jn, jl ! dummy loop indices |
---|
| 65 | !!------------------------------------------------------------------- |
---|
[268] | 66 | |
---|
[763] | 67 | IF(lwp) WRITE(numout,*) |
---|
| 68 | IF(lwp) WRITE(numout,*) 'trc_ini : initial set up of the passive tracers' |
---|
| 69 | IF(lwp) WRITE(numout,*) '~~~~~~~' |
---|
[268] | 70 | |
---|
[763] | 71 | ! initialization of passives tracers field |
---|
| 72 | ! ---------------------------------------- |
---|
[335] | 73 | DO jn = 1, jptra |
---|
[763] | 74 | trn(:,:,:,jn) = 0.e0 |
---|
| 75 | tra(:,:,:,jn) = 0.e0 |
---|
[268] | 76 | END DO |
---|
| 77 | |
---|
[763] | 78 | # if defined key_trc_diaadd |
---|
| 79 | ! initialization of output 2d and 3d arrays |
---|
[335] | 80 | DO jn = 1, jpdia2d |
---|
[763] | 81 | trc2d(:,:,jn) = 0.e0 |
---|
[268] | 82 | END DO |
---|
[335] | 83 | DO jn = 1, jpdia3d |
---|
[763] | 84 | trc3d(:,:,:,jn) = 0.e0 |
---|
[268] | 85 | END DO |
---|
[763] | 86 | # endif |
---|
[268] | 87 | |
---|
[763] | 88 | # if defined key_trc_diabio |
---|
| 89 | ! initialization of biological trends |
---|
| 90 | DO jn = 1, jpdiabio |
---|
[335] | 91 | trbio(:,:,:,jn) = 0.e0 |
---|
[268] | 92 | END DO |
---|
[763] | 93 | # endif |
---|
[268] | 94 | |
---|
[763] | 95 | # if defined key_trc_diatrd |
---|
| 96 | ! initialization of tracer trends |
---|
[335] | 97 | DO jl = 1, jpdiatrc |
---|
| 98 | DO jn = 1, jptra |
---|
[763] | 99 | IF( luttrd(jn) ) trtrd(:,:,:,ikeep(jn),jl) = 0.e0 |
---|
[335] | 100 | END DO |
---|
[268] | 101 | END DO |
---|
[763] | 102 | # endif |
---|
| 103 | ! |
---|
[335] | 104 | END SUBROUTINE trc_ini |
---|
[268] | 105 | |
---|
[763] | 106 | # endif |
---|
[335] | 107 | |
---|
[268] | 108 | #else |
---|
[335] | 109 | !!---------------------------------------------------------------------- |
---|
| 110 | !! Dummy module : NO passive tracer |
---|
| 111 | !!---------------------------------------------------------------------- |
---|
| 112 | CONTAINS |
---|
| 113 | SUBROUTINE trc_ini ! Empty routine |
---|
| 114 | END SUBROUTINE trc_ini |
---|
[268] | 115 | #endif |
---|
| 116 | |
---|
[335] | 117 | !!====================================================================== |
---|
[268] | 118 | END MODULE trcini |
---|