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