Changes between Version 9 and Version 10 of ticket/0664_TRA_TRP
- Timestamp:
- 2010-04-27T16:48:53+02:00 (14 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
ticket/0664_TRA_TRP
v9 v10 20 20 [[BR]] 21 21 22 '''(1)''' Creation of advection/diffusion modules with 4D tracer array as input argument[[BR]][[BR]]22 '''(1)''' Creation of generic advection/diffusion modules 23 23 24 A generic routine will be able to work with either active or passive tracers. It will therefore use 4D tracer arrays that will be given in the argument of the routine. The 3 fields, before, now and after are systematically provided in argument even if some all are not necessary used in a given scheme. 24 25 26 in diffusion modules (traldf..., trazdf...) : 4D tracer are given through input argument, where the 4th dimension is the tracer type (=2 for temp. and salinity in the active tracer case, =jptrc in the passive tracer one) 27 28 in advection module (traadv...) : both the 4D tracer and transport components (e2u*e3u*u,...) are given through input argument. 29 30 for example, for CEN2 advection the routine start as follows: 25 31 {{{ 26 32 SUBROUTINE tra_adv_cen2( kt, cdtype, pun, pvn, pwn, ptrab, ptran, ptraa ) … … 34 40 INTEGER , INTENT(in ) :: kt ! ocean time-step index 35 41 CHARACTER(len=3), INTENT(in ) :: cdtype ! =TRA or TRC (tracer indicator) 36 REAL(wp) , INTENT(in ), DIMENSION(:,:,: ) :: pun, pvn, pwn ! 3 ocean velocity ( fluxes )components42 REAL(wp) , INTENT(in ), DIMENSION(:,:,: ) :: pun, pvn, pwn ! 3 ocean transport components 37 43 REAL(wp) , INTENT(in ), DIMENSION(:,:,:,:) :: ptrab, ptran ! before and now tracer fields 38 44 REAL(wp) , INTENT(inout), DIMENSION(:,:,:,:) :: ptraa ! tracer trend … … 42 48 '''(2)''' Test for T & S 3D arrays by using the fortran '''''RESHAPE''''' function [[BR]][[BR]] 43 49 44 50 In order to test the new tra... modules without changing the temperature and salinity field every where in the code, we use the RESHAPE function in the call of the new routine. For example the call in tra_adv becomes : 45 51 46 52 {{{ … … 84 90 }}} 85 91 92 N.B. the transport given in argument is now the effective transport, i.e. including the one associated with eddy induced velocity, or bbl. 93 86 94 [[BR]] 87 95 88 '''(3)''' Apply to the passive tracers [[BR]] [[BR]]96 '''(3)''' Apply to the passive tracers [[BR]] 89 97 90 98 with the 4D tracer arguments, the same module are use for active and passive tracers. The trcadv module becomes: 91 99 92 100 {{{ … … 129 137 [[BR]] 130 138 131 '''(4)''' replace T and S 3D arrays by 4D arrays TS throughout the code [[BR]][[BR]]139 '''(4)''' Final step : replace T and S 3D arrays by 4D arrays TS throughout the code [[BR]][[BR]] 132 140 133 141 '''Additional Tasks'''[[BR]] 134 142 [[BR]] 135 143 - TRENDS[[BR]] 136 * Split the OPA_SRC/TRD/trmod.F90 module in 2 modules137 * trends_dyn.F90 which manages dynamical trend diagnostics138 * trends_tra.F90 for the tracers trend diagnostics139 * For the moment, encapsulate both active & passive tracers trends modules ( trdmld.F90 & trdmld_trc.F90 )in one module144 * Split the OPA_SRC/TRD/trmod.F90 module in 2 modules 145 * trends_dyn.F90 which manages dynamical trend diagnostics 146 * trends_tra.F90 for the tracers trend diagnostics 147 * As a starting point, both active & passive tracers trends modules ( trdmld.F90 & trdmld_trc.F90 ) will be encapsulate in one module 140 148 [[BR]] 141 149 - OBC[[BR]] 142 * rewrite the radiative OBC with 4D array as input argument. OBC will be then available for passive tracers150 * rewrite the radiative OBC with 4D array as input argument. OBC will be then available for passive tracers 143 151 ---- 144 152 === Testing ===