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.
Changeset 3318 for branches/2012/dev_r3309_LOCEAN12_Ediag/NEMOGCM/NEMO/TOP_SRC/TRP/trdmld_trc.F90 – NEMO

Ignore:
Timestamp:
2012-02-25T16:50:01+01:00 (12 years ago)
Author:
gm
Message:

Ediag branche: #927 split TRA/DYN trd computation

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2012/dev_r3309_LOCEAN12_Ediag/NEMOGCM/NEMO/TOP_SRC/TRP/trdmld_trc.F90

    r3294 r3318  
    44   !! Ocean diagnostics:  mixed layer passive tracer trends  
    55   !!====================================================================== 
    6    !! History :  9.0  !  06-08  (C. Deltel)  Original code (from trdmld.F90) 
    7    !!                 !  07-04  (C. Deltel)  Bug fix : add trcrad trends 
    8    !!                 !  07-06  (C. Deltel)  key_gyre : do not call lbc_lnk 
     6   !! History :  1.0  !  2006-08  (C. Deltel)  Original code (from trdmld.F90) 
     7   !!             -   !  2007-04  (C. Deltel)  Bug fix : add trcrad trends 
     8   !!             -   !  2007-06  (C. Deltel)  key_gyre : do not call lbc_lnk 
    99   !!---------------------------------------------------------------------- 
    1010#if   defined key_top && ( defined key_trdmld_trc   ||   defined key_esopa ) 
     
    2323   USE zdfddm  , ONLY : avs  !: salinity vertical diffusivity coeff. at w-point 
    2424# endif 
     25   USE trdmld_trc_rst    ! restart for diagnosing the ML trends 
    2526   USE trcnam_trp        ! passive tracers transport namelist variables 
    2627   USE trdmod_trc_oce    ! definition of main arrays used for trends computations 
    27    USE in_out_manager    ! I/O manager 
    2828   USE dianam            ! build the name of file (routine) 
    2929   USE ldfslp            ! iso-neutral slopes  
     30   USE in_out_manager    ! I/O manager 
    3031   USE ioipsl            ! NetCDF library 
    3132   USE lbclnk            ! ocean lateral boundary conditions (or mpp link) 
    3233   USE lib_mpp           ! MPP library 
    33    USE trdmld_trc_rst    ! restart for diagnosing the ML trends 
    3434   USE prtctl            ! print control 
    3535   USE sms_pisces        ! PISCES bio-model 
    3636   USE sms_lobster       ! LOBSTER bio-model 
    37  
     37   USE wrk_nemo          ! Memory Allocation 
     38    
    3839   IMPLICIT NONE 
    3940   PRIVATE 
     
    4647   PUBLIC trd_mld_bio_zint 
    4748 
    48    CHARACTER (LEN=40) ::  clhstnam                                ! name of the trends NetCDF file 
    49    INTEGER ::   nmoymltrd 
     49   CHARACTER (LEN=40) ::   clhstnam                                ! name of the trends NetCDF file 
     50   INTEGER            ::   nmoymltrd 
    5051   INTEGER, ALLOCATABLE, SAVE, DIMENSION(:) ::   ndextrd1 
    5152   INTEGER, DIMENSION(jptra) ::   nidtrd, nh_t 
     
    6162 
    6263   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:,:) ::  ztmltrd2   ! 
    63 #if defined key_lobster 
    64    REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) ::  ztmltrdbio2  ! only needed for mean diagnostics in trd_mld_bio() 
    65 #endif 
     64   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:)   ::  ztmltrdbio2  ! only needed for mean diagnostics in trd_mld_bio() 
    6665 
    6766   !! * Substitutions 
    6867#  include "top_substitute.h90" 
     68#  include "zdfddm_substitute.h90" 
    6969   !!---------------------------------------------------------------------- 
    7070   !! NEMO/TOP 3.3 , NEMO Consortium (2010) 
     
    367367      !!       In IV), the appropriate trends are written in the trends NetCDF file. 
    368368      !! 
    369       !! References : 
    370       !!       - Vialard & al. 
    371       !!       - See NEMO documentation (in preparation) 
    372       !!---------------------------------------------------------------------- 
    373       ! 
     369      !! References: Vialard et al., 2001, JPO. 
     370      !!---------------------------------------------------------------------- 
    374371      INTEGER, INTENT(in) ::   kt   ! ocean time-step index 
    375372      ! 
    376       INTEGER ::   ji, jj, jk, jl, ik, it, itmod, jn 
    377       REAL(wp) ::   zavt, zfn, zfn2 
    378       ! 
    379       REAL(wp), POINTER, DIMENSION(:,:,:) ::   ztmltot             ! d(trc)/dt over the anlysis window (incl. Asselin) 
    380       REAL(wp), POINTER, DIMENSION(:,:,:) ::   ztmlres             ! residual = dh/dt entrainment term 
    381       REAL(wp), POINTER, DIMENSION(:,:,:) ::   ztmlatf             ! for storage only 
    382       REAL(wp), POINTER, DIMENSION(:,:,:) ::   ztmlrad             ! for storage only (for trb<0 corr in trcrad) 
    383       ! 
    384       REAL(wp), POINTER, DIMENSION(:,:,:) ::   ztmltot2            ! -+ 
    385       REAL(wp), POINTER, DIMENSION(:,:,:) ::   ztmlres2            !  | working arrays to diagnose the trends 
    386       REAL(wp), POINTER, DIMENSION(:,:,:) ::   ztmltrdm2           !  | associated with the time meaned ML 
    387       REAL(wp), POINTER, DIMENSION(:,:,:) ::   ztmlatf2            !  | passive tracers 
    388       REAL(wp), POINTER, DIMENSION(:,:,:) ::   ztmlrad2            !  | (-> for trb<0 corr in trcrad) 
     373      INTEGER ::   ji, jj, jk, jl      ! dummy loop indices 
     374      INTEGER ::   ik, it, itmod, jn   ! local integers 
     375      REAL(wp)::   zavt, zfn, zfn2    ! local scalars 
     376      ! 
     377      REAL(wp), POINTER, DIMENSION(:,:,:) ::   ztmltot   ! d(trc)/dt over the anlysis window (incl. Asselin) 
     378      REAL(wp), POINTER, DIMENSION(:,:,:) ::   ztmlres   ! residual = dh/dt entrainment term 
     379      REAL(wp), POINTER, DIMENSION(:,:,:) ::   ztmlatf   ! for storage only 
     380      REAL(wp), POINTER, DIMENSION(:,:,:) ::   ztmlrad   ! for storage only (for trb<0 corr in trcrad) 
     381      ! 
     382      REAL(wp), POINTER, DIMENSION(:,:,:) ::   ztmltot2   ! -+ 
     383      REAL(wp), POINTER, DIMENSION(:,:,:) ::   ztmlres2   !  | working arrays to diagnose the trends 
     384      REAL(wp), POINTER, DIMENSION(:,:,:) ::   ztmltrdm2  !  | associated with the time meaned ML 
     385      REAL(wp), POINTER, DIMENSION(:,:,:) ::   ztmlatf2   !  | passive tracers 
     386      REAL(wp), POINTER, DIMENSION(:,:,:) ::   ztmlrad2   !  | (-> for trb<0 corr in trcrad) 
    389387      ! 
    390388      CHARACTER (LEN= 5) ::   clvar 
    391389#if defined key_dimgout 
    392       INTEGER ::   iyear,imon,iday 
     390      INTEGER ::   iyear, imon, iday 
    393391      CHARACTER(LEN=80) ::   cltext, clmode 
    394392#endif 
Note: See TracChangeset for help on using the changeset viewer.