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 8453 for branches/NERC/dev_r5518_GO6_package_trdtrc/NEMOGCM/NEMO/TOP_SRC/TRP/trdtrc.F90 – NEMO

Ignore:
Timestamp:
2017-08-22T18:54:47+02:00 (7 years ago)
Author:
jpalmier
Message:

JPALM --22-08-2017-- repair trends for passive tracers

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/NERC/dev_r5518_GO6_package_trdtrc/NEMOGCM/NEMO/TOP_SRC/TRP/trdtrc.F90

    r6486 r8453  
    8686 
    8787      IF( lk_trdtrc .AND. ln_trdtrc( kjn ) ) THEN 
    88          ! 
     88      !! JPALM -- 17-08-2017 -- modif following trd_tra_iom as suggested by Georges 
     89      !!                     -- add jptra_tot; jptra_totad; jptra_zdfp 
     90      !!                     -- shange to output trends every 2 time-step, except tot. 
     91      !!                     -- move cltra and iomput inside the select case 
     92      !!                     So if an non-wanted case arrives here it will not go 
     93      !!                     through cltra (without value) and break iomput. 
     94      !!                     -- Add iom_use in prevision of not using All trends 
     95      !!                     for All passive tracers (will create a HUGE 3D file otherwise -- 
     96      !!                     might be interested in very few of them : SMS and TOT probably) 
     97         ! 
     98         SELECT CASE( ktrd ) 
     99         !! tot - output every time-step: 
     100         CASE( jptra_tot  )       ;    WRITE (cltra,'("TOT_",4a)') 
     101                           cltra = TRIM(cltra)//TRIM(ctrcnm(kjn)) 
     102                           IF  (iom_use(cltra))  CALL iom_put( cltra,  ptrtrd(:,:,:) ) 
     103         END SELECT 
     104         ! 
     105       IF( MOD( kt, 2 ) == 0 ) THEN 
    89106         SELECT CASE( ktrd ) 
    90107         CASE( jptra_xad  )       ;    WRITE (cltra,'("XAD_",4a)') 
     108                           cltra = TRIM(cltra)//TRIM(ctrcnm(kjn)) 
     109                           IF  (iom_use(cltra))  CALL iom_put( cltra,  ptrtrd(:,:,:) ) 
    91110         CASE( jptra_yad  )       ;    WRITE (cltra,'("YAD_",4a)') 
    92          CASE( jptra_zad  )       ;    WRITE (cltra,'("ZAD_",4a)') 
     111                           cltra = TRIM(cltra)//TRIM(ctrcnm(kjn)) 
     112                           IF  (iom_use(cltra))  CALL iom_put( cltra,  ptrtrd(:,:,:) ) 
     113         CASE( jptra_zad  )       ;    WRITE (cltra,'("ZAD_",4a)')      !! care vvl case 
     114                           cltra = TRIM(cltra)//TRIM(ctrcnm(kjn)) 
     115                           IF  (iom_use(cltra))  CALL iom_put( cltra,  ptrtrd(:,:,:) ) 
     116         CASE( jptra_totad  )     ;    WRITE (cltra,'("TAD_",4a)')      !! total adv 
     117                           cltra = TRIM(cltra)//TRIM(ctrcnm(kjn)) 
     118                           IF  (iom_use(cltra))  CALL iom_put( cltra,  ptrtrd(:,:,:) ) 
    93119         CASE( jptra_ldf  )       ;    WRITE (cltra,'("LDF_",4a)') 
     120                           cltra = TRIM(cltra)//TRIM(ctrcnm(kjn)) 
     121                           IF  (iom_use(cltra))  CALL iom_put( cltra,  ptrtrd(:,:,:) ) 
    94122         CASE( jptra_bbl  )       ;    WRITE (cltra,'("BBL_",4a)') 
     123                           cltra = TRIM(cltra)//TRIM(ctrcnm(kjn)) 
     124                           IF  (iom_use(cltra))  CALL iom_put( cltra,  ptrtrd(:,:,:) ) 
    95125         CASE( jptra_nsr  )       ;    WRITE (cltra,'("FOR_",4a)') 
     126                           cltra = TRIM(cltra)//TRIM(ctrcnm(kjn)) 
     127                           IF  (iom_use(cltra))  CALL iom_put( cltra,  ptrtrd(:,:,:) ) 
    96128         CASE( jptra_zdf  )       ;    WRITE (cltra,'("ZDF_",4a)') 
     129                           cltra = TRIM(cltra)//TRIM(ctrcnm(kjn)) 
     130                           IF  (iom_use(cltra))  CALL iom_put( cltra,  ptrtrd(:,:,:) ) 
     131         CASE( jptra_zdfp )       ;    WRITE (cltra,'("ZDP_",4a)') 
     132                           cltra = TRIM(cltra)//TRIM(ctrcnm(kjn)) 
     133                           IF  (iom_use(cltra))  CALL iom_put( cltra,  ptrtrd(:,:,:) ) 
    97134         CASE( jptra_dmp  )       ;    WRITE (cltra,'("DMP_",4a)') 
     135                           cltra = TRIM(cltra)//TRIM(ctrcnm(kjn)) 
     136                           IF  (iom_use(cltra))  CALL iom_put( cltra,  ptrtrd(:,:,:) ) 
    98137         CASE( jptra_sms  )       ;    WRITE (cltra,'("SMS_",4a)') 
     138                           cltra = TRIM(cltra)//TRIM(ctrcnm(kjn)) 
     139                           IF  (iom_use(cltra))  CALL iom_put( cltra,  ptrtrd(:,:,:) ) 
     140         CASE( jptra_radb )       ;    WRITE (cltra,'("RDB_",4a)') 
     141                           cltra = TRIM(cltra)//TRIM(ctrcnm(kjn)) 
     142                           IF  (iom_use(cltra))  CALL iom_put( cltra,  ptrtrd(:,:,:) ) 
     143         CASE( jptra_radn )       ;    WRITE (cltra,'("RDN_",4a)') 
     144                           cltra = TRIM(cltra)//TRIM(ctrcnm(kjn)) 
     145                           IF  (iom_use(cltra))  CALL iom_put( cltra,  ptrtrd(:,:,:) ) 
     146         END SELECT 
     147       ELSE IF( MOD( kt, 2 ) == 1 ) THEN 
     148         SELECT CASE( ktrd ) 
    99149         CASE( jptra_atf  )       ;    WRITE (cltra,'("ATF_",4a)') 
    100          CASE( jptra_radb )       ;    WRITE (cltra,'("RDB_",4a)') 
    101          CASE( jptra_radn )       ;    WRITE (cltra,'("RDN_",4a)') 
    102          END SELECT 
    103                                           cltra = TRIM(cltra)//TRIM(ctrcnm(kjn)) 
    104                                           CALL iom_put( cltra,  ptrtrd(:,:,:) ) 
     150                           cltra = TRIM(cltra)//TRIM(ctrcnm(kjn)) 
     151                           IF  (iom_use(cltra))  CALL iom_put( cltra,  ptrtrd(:,:,:) ) 
     152         END SELECT 
     153       END IF 
    105154         ! 
    106155      END IF 
Note: See TracChangeset for help on using the changeset viewer.