New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
ticket/0664_TRA_TRP (diff) – NEMO

Changes between Version 9 and Version 10 of ticket/0664_TRA_TRP


Ignore:
Timestamp:
2010-04-27T16:48:53+02:00 (14 years ago)
Author:
gm
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ticket/0664_TRA_TRP

    v9 v10  
    2020[[BR]] 
    2121 
    22 '''(1)''' Creation of advection/diffusion modules with 4D tracer array as input argument[[BR]][[BR]] 
     22'''(1)''' Creation of generic advection/diffusion modules  
    2323 
     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. 
    2425 
     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: 
    2531{{{ 
    2632   SUBROUTINE tra_adv_cen2( kt, cdtype, pun, pvn, pwn, ptrab, ptran, ptraa ) 
     
    3440      INTEGER         , INTENT(in   )                         ::   kt              ! ocean time-step index 
    3541      CHARACTER(len=3), INTENT(in   )                         ::   cdtype          ! =TRA or TRC (tracer indicator) 
    36       REAL(wp)        , INTENT(in   ), DIMENSION(:,:,:  )     ::   pun, pvn, pwn   ! 3 ocean velocity ( fluxes ) components 
     42      REAL(wp)        , INTENT(in   ), DIMENSION(:,:,:  )     ::   pun, pvn, pwn   ! 3 ocean transport components 
    3743      REAL(wp)        , INTENT(in   ), DIMENSION(:,:,:,:)     ::   ptrab, ptran    ! before and now tracer fields 
    3844      REAL(wp)        , INTENT(inout), DIMENSION(:,:,:,:)     ::   ptraa           ! tracer trend 
     
    4248'''(2)''' Test for T & S 3D arrays by using the fortran '''''RESHAPE''''' function [[BR]][[BR]] 
    4349 
    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 : 
    4551 
    4652{{{ 
     
    8490}}} 
    8591 
     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 
    8694[[BR]] 
    8795 
    88 '''(3)''' Apply to the passive tracers [[BR]][[BR]] 
     96'''(3)''' Apply to the passive tracers [[BR]] 
    8997 
    90  
     98   with the 4D tracer arguments, the same module are use for active and passive tracers. The trcadv module becomes:  
    9199 
    92100{{{ 
     
    129137[[BR]] 
    130138 
    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]] 
    132140 
    133141'''Additional Tasks'''[[BR]] 
    134142[[BR]] 
    135143- TRENDS[[BR]] 
    136  * Split the OPA_SRC/TRD/trmod.F90 module in 2 modules 
    137    * trends_dyn.F90 which manages dynamical trend diagnostics 
    138    * trends_tra.F90 for the tracers trend diagnostics 
    139  * For the moment, encapsulate both active & passive tracers trends modules ( trdmld.F90 & trdmld_trc.F90 ) in one module 
     144   * 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 
    140148[[BR]] 
    141149- OBC[[BR]] 
    142  * rewrite the radiative OBC with 4D array as input argument. OBC will be then available for passive tracers 
     150    * rewrite the radiative OBC with 4D array as input argument. OBC will be then available for passive tracers 
    143151---- 
    144152=== Testing ===