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/trdmod_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/trdmod_trc.F90

    r3294 r3318  
    1111   !!   'key_trdtrc'                      3D trend diagnostics 
    1212   !!---------------------------------------------------------------------- 
    13    !!   trd_mod_trc      : passive tracer trends  
     13   !!   trd_mod_trc   : passive tracer trends  
    1414   !!---------------------------------------------------------------------- 
    15    USE trc               ! tracer definitions (trn, trb, tra, etc.) 
    16    USE trcnam_trp 
    17    USE trdmod_oce 
    18    USE trdmod_trc_oce    ! definition of main arrays used for trends computations 
    19    USE trdmld_trc        ! Mixed layer trends diag. 
    20    USE iom               ! I/O library 
     15   USE trc            ! passive tracer variables 
     16   USE trcnam_trp     !  
     17   USE trd_oce        ! trends: ocean variables 
     18   USE trdmod_trc_oce ! definition of main arrays used for trends computations 
     19   USE trdmld_trc     ! Mixed layer trends diag. 
     20   USE iom            ! I/O library 
    2121 
    2222   IMPLICIT NONE 
     
    2424 
    2525   INTERFACE trd_mod_trc 
    26       MODULE PROCEDURE trd_mod_trc_trp, trd_mod_trc_bio 
     26      MODULE PROCEDURE   trd_mod_trc_trp, trd_mod_trc_bio 
    2727   END INTERFACE 
    2828 
    29    PUBLIC trd_mod_trc 
     29   PUBLIC   trd_mod_trc   ! 
    3030 
    3131   !! * Substitutions 
     
    3636   !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 
    3737   !!---------------------------------------------------------------------- 
    38  
    3938CONTAINS 
    4039 
     
    4342      !!                  ***  ROUTINE trd_mod_trc  *** 
    4443      !!---------------------------------------------------------------------- 
    45       INTEGER, INTENT( in )  ::   kt                                  ! time step 
    46       INTEGER, INTENT( in )  ::   kjn                                 ! tracer index 
    47       INTEGER, INTENT( in )  ::   ktrd                                ! tracer trend index 
    48       REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT( inout )  ::   ptrtrd  ! Temperature or U trend 
     44      INTEGER                         , INTENT(in   ) ::   kt       ! time step 
     45      INTEGER                         , INTENT(in   ) ::   kjn      ! tracer index 
     46      INTEGER                         , INTENT(in   ) ::   ktrd     ! tracer trend index 
     47      REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(inout) ::   ptrtrd   ! Temperature or U trend 
     48      ! 
    4949      CHARACTER (len=20) :: cltra 
    5050      !!---------------------------------------------------------------------- 
     
    6262         ! 
    6363         SELECT CASE ( ktrd ) 
    64          CASE ( jptra_trd_xad     )   ;   CALL trd_mld_trc_zint( ptrtrd, jpmld_trc_xad, '3D', kjn ) 
    65          CASE ( jptra_trd_yad     )   ;   CALL trd_mld_trc_zint( ptrtrd, jpmld_trc_yad, '3D', kjn ) 
    66          CASE ( jptra_trd_zad     )   ;   CALL trd_mld_trc_zint( ptrtrd, jpmld_trc_zad, '3D', kjn ) 
    67          CASE ( jptra_trd_ldf     )   ;   CALL trd_mld_trc_zint( ptrtrd, jpmld_trc_ldf, '3D', kjn ) 
    68          CASE ( jptra_trd_bbl     )   ;   CALL trd_mld_trc_zint( ptrtrd, jpmld_trc_bbl, '3D', kjn ) 
    69          CASE ( jptra_trd_zdf     ) 
    70             IF( ln_trcldf_iso ) THEN 
    71                CALL trd_mld_trc_zint( ptrtrd, jpmld_trc_ldf, '3D', kjn ) 
    72             ELSE 
    73                CALL trd_mld_trc_zint( ptrtrd, jpmld_trc_zdf, '3D', kjn ) 
     64         CASE ( jptra_xad  )   ;   CALL trd_mld_trc_zint( ptrtrd, jpmld_trc_xad, '3D', kjn ) 
     65         CASE ( jptra_yad  )   ;   CALL trd_mld_trc_zint( ptrtrd, jpmld_trc_yad, '3D', kjn ) 
     66         CASE ( jptra_zad  )   ;   CALL trd_mld_trc_zint( ptrtrd, jpmld_trc_zad, '3D', kjn ) 
     67         CASE ( jptra_ldf  )   ;   CALL trd_mld_trc_zint( ptrtrd, jpmld_trc_ldf, '3D', kjn ) 
     68         CASE ( jptra_bbl  )   ;   CALL trd_mld_trc_zint( ptrtrd, jpmld_trc_bbl, '3D', kjn ) 
     69         CASE ( jptra_zdf  ) 
     70            IF( ln_trcldf_iso ) THEN   ;   CALL trd_mld_trc_zint( ptrtrd, jpmld_trc_ldf, '3D', kjn ) 
     71            ELSE                       ;   CALL trd_mld_trc_zint( ptrtrd, jpmld_trc_zdf, '3D', kjn ) 
    7472            ENDIF 
    75          CASE ( jptra_trd_dmp     )   ;   CALL trd_mld_trc_zint( ptrtrd, jpmld_trc_dmp , '3D', kjn ) 
    76          CASE ( jptra_trd_nsr     )   ;   CALL trd_mld_trc_zint( ptrtrd, jpmld_trc_sbc , '2D', kjn ) 
    77          CASE ( jptra_trd_sms     )   ;   CALL trd_mld_trc_zint( ptrtrd, jpmld_trc_sms , '3D', kjn ) 
    78          CASE ( jptra_trd_radb    )   ;   CALL trd_mld_trc_zint( ptrtrd, jpmld_trc_radb, '3D', kjn ) 
    79          CASE ( jptra_trd_radn    )   ;   CALL trd_mld_trc_zint( ptrtrd, jpmld_trc_radn, '3D', kjn ) 
    80          CASE ( jptra_trd_atf     )   ;   CALL trd_mld_trc_zint( ptrtrd, jpmld_trc_atf , '3D', kjn ) 
     73         CASE ( jptra_dmp  )   ;   CALL trd_mld_trc_zint( ptrtrd, jpmld_trc_dmp , '3D', kjn ) 
     74         CASE ( jptra_nsr  )   ;   CALL trd_mld_trc_zint( ptrtrd, jpmld_trc_sbc , '2D', kjn ) 
     75         CASE ( jptra_sms  )   ;   CALL trd_mld_trc_zint( ptrtrd, jpmld_trc_sms , '3D', kjn ) 
     76         CASE ( jptra_radb )   ;   CALL trd_mld_trc_zint( ptrtrd, jpmld_trc_radb, '3D', kjn ) 
     77         CASE ( jptra_radn )   ;   CALL trd_mld_trc_zint( ptrtrd, jpmld_trc_radn, '3D', kjn ) 
     78         CASE ( jptra_atf  )   ;   CALL trd_mld_trc_zint( ptrtrd, jpmld_trc_atf , '3D', kjn ) 
    8179         END SELECT 
    8280         ! 
     
    8684         ! 
    8785         SELECT CASE( ktrd ) 
    88          CASE( jptra_trd_xad )       ;    WRITE (cltra,'("XAD_",16a)')   ctrcnm(kjn) 
    89          CASE( jptra_trd_yad )       ;    WRITE (cltra,'("YAD_",16a)')   ctrcnm(kjn) 
    90          CASE( jptra_trd_zad )       ;    WRITE (cltra,'("ZAD_",16a)')   ctrcnm(kjn) 
    91          CASE( jptra_trd_ldf )       ;    WRITE (cltra,'("LDF_",16a)')   ctrcnm(kjn) 
    92          CASE( jptra_trd_bbl )       ;    WRITE (cltra,'("BBL_",16a)')   ctrcnm(kjn) 
    93          CASE( jptra_trd_zdf )       ;    WRITE (cltra,'("ZDF_",16a)')   ctrcnm(kjn) 
    94          CASE( jptra_trd_dmp )       ;    WRITE (cltra,'("DMP_",16a)')   ctrcnm(kjn) 
    95          CASE( jptra_trd_nsr )       ;    WRITE (cltra,'("FOR_",16a)')   ctrcnm(kjn) 
     86         CASE( jptra_xad  )   ;    WRITE (cltra,'("XAD_",16a)')   ctrcnm(kjn) 
     87         CASE( jptra_yad  )   ;    WRITE (cltra,'("YAD_",16a)')   ctrcnm(kjn) 
     88         CASE( jptra_zad  )   ;    WRITE (cltra,'("ZAD_",16a)')   ctrcnm(kjn) 
     89         CASE( jptra_ldf  )   ;    WRITE (cltra,'("LDF_",16a)')   ctrcnm(kjn) 
     90         CASE( jptra_bbl  )   ;    WRITE (cltra,'("BBL_",16a)')   ctrcnm(kjn) 
     91         CASE( jptra_zdf  )   ;    WRITE (cltra,'("ZDF_",16a)')   ctrcnm(kjn) 
     92         CASE( jptra_dmp  )   ;    WRITE (cltra,'("DMP_",16a)')   ctrcnm(kjn) 
     93         CASE( jptra_nsr  )   ;    WRITE (cltra,'("FOR_",16a)')   ctrcnm(kjn) 
    9694         END SELECT 
    97                                           CALL iom_put( cltra,  ptrtrd(:,:,:) ) 
     95         ! 
     96         CALL iom_put( cltra,  ptrtrd(:,:,:) ) 
    9897         ! 
    9998      END IF 
     
    101100   END SUBROUTINE trd_mod_trc_trp 
    102101 
     102 
    103103   SUBROUTINE trd_mod_trc_bio( ptrbio, ktrd, kt ) 
    104104      !!---------------------------------------------------------------------- 
    105105      !!                  ***  ROUTINE trd_mod_bio  *** 
    106106      !!---------------------------------------------------------------------- 
    107  
    108       INTEGER, INTENT( in )  ::   kt                                  ! time step 
    109       INTEGER, INTENT( in )  ::   ktrd                                ! bio trend index 
    110       REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT( inout )  ::   ptrbio  ! Bio trend 
     107      INTEGER                         , INTENT(in   )  ::   kt       ! time step 
     108      INTEGER                         , INTENT(in   )  ::   ktrd     ! bio trend index 
     109      REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(inout)  ::   ptrbio   ! Bio trend 
    111110      !!---------------------------------------------------------------------- 
    112  
    113       CALL trd_mld_bio_zint( ptrbio, ktrd ) ! Verticaly integrated biological trends 
    114  
     111      ! 
     112      CALL trd_mld_bio_zint( ptrbio, ktrd )       ! Verticaly integrated biological trends 
     113      ! 
    115114   END SUBROUTINE trd_mod_trc_bio 
     115    
    116116#else 
    117117   !!---------------------------------------------------------------------- 
    118118   !!   Default option :                                       Empty module 
    119119   !!---------------------------------------------------------------------- 
    120  
    121120   INTERFACE trd_mod_trc 
    122121      MODULE PROCEDURE trd_mod_trc_trp, trd_mod_trc_bio 
    123122   END INTERFACE 
    124  
    125123CONTAINS 
    126  
    127124   SUBROUTINE trd_mod_trc_trp( ptrtrd, kjn, ktrd, kt ) 
    128125      INTEGER               , INTENT( in )     ::   kt      ! time step 
Note: See TracChangeset for help on using the changeset viewer.