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 5601 for branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/TOP_SRC – NEMO

Ignore:
Timestamp:
2015-07-16T11:04:29+02:00 (9 years ago)
Author:
cbricaud
Message:

commit changes/bugfix/... for crs ; ok with time-splitting/fixed volume

Location:
branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/TOP_SRC
Files:
14 edited

Legend:

Unmodified
Added
Removed
  • branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/TOP_SRC/MY_TRC/trcini_my_trc.F90

    r2787 r5601  
    1616   USE trc 
    1717   USE trcsms_my_trc 
     18   USE dom_oce, ONLY : gdepw_1d,e3t_1d,nyear_len 
    1819 
    1920   IMPLICIT NONE 
     
    4445      IF(lwp) WRITE(numout,*) ' trc_ini_my_trc: initialisation of MY_TRC model' 
    4546      IF(lwp) WRITE(numout,*) ' ~~~~~~~~~~~~~~' 
     47 
     48      nlb_age = MINLOC( gdepw_1d, mask = gdepw_1d > age_depth, dim = 1  ) 
     49      nl_age = nlb_age - 1 
     50      nla_age = nl_age - 1 
     51      frac_kill_age = (age_depth - gdepw_1d(nl_age))/e3t_1d(nl_age) 
     52      frac_add_age = 1._wp -  frac_kill_age 
     53      rryear = 1._wp / ( nyear_len(1) * rday ) 
     54 
    4655       
     56      IF( .NOT. ln_rsttr ) trb(:,:,:,jp_myt0:jp_myt1) = 0. 
    4757      IF( .NOT. ln_rsttr ) trn(:,:,:,jp_myt0:jp_myt1) = 0. 
    4858      ! 
  • branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/TOP_SRC/MY_TRC/trcsms_my_trc.F90

    r4990 r5601  
    2525   PUBLIC   trc_sms_my_trc_alloc ! called by trcini_my_trc.F90 module 
    2626 
     27   INTEGER , PUBLIC :: nl_age                         ! T level surrounding age_depth 
     28   INTEGER , PUBLIC :: nla_age                        ! T level wholly above age_depth 
     29   INTEGER , PUBLIC :: nlb_age                        ! T level wholly below age_depth 
     30 
     31   REAL(wp), PUBLIC ::   rryear                    !: recip number of seconds in one year 
     32   REAL(wp), PUBLIC ::   age_depth = 10.           !: depth over which age tracer reset to zero 
     33   REAL(wp), PUBLIC ::   age_kill_rate = -1./7200. !: recip of relaxation timescale (s) for  age tracer shallower than age_depth 
     34   REAL(wp), PUBLIC ::   frac_kill_age             !: fraction of level nl_age above age_depth where it is relaxed towards zero 
     35   REAL(wp), PUBLIC ::   frac_add_age              !: fraction of level nl_age below age_depth where it is incremented 
     36 
     37 
    2738   ! Defined HERE the arrays specific to MY_TRC sms and ALLOCATE them in trc_sms_my_trc_alloc 
    2839 
     
    4455      ! 
    4556      INTEGER, INTENT(in) ::   kt   ! ocean time-step index 
    46       INTEGER ::   jn   ! dummy loop index 
     57      INTEGER ::   jn, jk   ! dummy loop index 
    4758      REAL(wp), POINTER, DIMENSION(:,:,:) :: ztrmyt 
    4859!!---------------------------------------------------------------------- 
     
    5667      IF( l_trdtrc )  CALL wrk_alloc( jpi, jpj, jpk, ztrmyt ) 
    5768 
    58       WHERE( (glamt <= 170) .AND. (glamt >= 160) .AND. (gphit <= -74) .AND. (gphit >=-75.6) ) 
    59         trn(:,:,1,jpmyt1) = 1._wp 
    60         trb(:,:,1,jpmyt1) = 1._wp 
    61         tra(:,:,1,jpmyt1) = 0._wp 
    62       END WHERE 
    63  
     69      DO jk = 1, nla_age 
     70         tra(:,:,jk,jpmyt1) = age_kill_rate * trb(:,:,jk,jpmyt1) 
     71      ENDDO 
     72      ! 
     73      tra(:,:,nl_age,jpmyt1) = frac_kill_age * age_kill_rate * trb(:,:,nl_age,jpmyt1)  & 
     74          &                  + frac_add_age  * rryear * tmask(:,:,nl_age) 
     75      ! 
     76      DO jk = nlb_age, jpk 
     77         tra(:,:,jk,jpmyt1) = tmask(:,:,jk) * rryear 
     78      ENDDO 
     79      ! 
    6480      IF( l_trdtrc ) THEN      ! Save the trends in the ixed layer 
    6581          DO jn = jp_myt0, jp_myt1 
  • branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/TOP_SRC/MY_TRC/trcwri_my_trc.F90

    r5105 r5601  
    1414   USE trc         ! passive tracers common variables  
    1515   USE oce_trc 
    16    USE crs, ONLY : ln_crs 
     16   USE crs, ONLY : ln_crs,ln_crs_top,ahtt_crs,ahtu_crs,ahtv_crs,ahtw_crs,jpi_crs,jpj_crs 
     17   USE iom, ONLY : iom_swap, iom_put 
    1718 
    1819   IMPLICIT NONE 
     
    3334      INTEGER              :: jn 
    3435      !!--------------------------------------------------------------------- 
    35       IF( ln_crs ) CALL iom_swap( "nemo_crs" ) 
     36      IF( ln_crs_top ) CALL iom_swap( "nemo_crs" ) 
     37 
     38      CALL iom_put("ahtt_crs",ahtt_crs) 
     39      CALL iom_put("ahtu_crs",ahtu_crs) 
     40      CALL iom_put("ahtv_crs",ahtv_crs) 
     41      CALL iom_put("ahtw_crs",ahtw_crs) 
     42 
    3643  
    3744      ! write the tracer concentrations in the file 
     
    4047         cltra = TRIM( ctrcnm(jn) )                  ! short title for tracer 
    4148         IF( lk_vvl ) THEN 
    42             CALL iom_put( cltra, trn(:,:,:,jn) * fse3t_n(:,:,:) ) 
     49            CALL iom_put( TRIM(cltra), trn(:,:,:,jn) * fse3t_n(:,:,:) ) 
    4350         ELSE 
    4451            CALL iom_put( TRIM(cltra), trn(:,:,:,jn) ) 
     
    4653      END DO 
    4754      ! 
    48       IF( ln_crs ) CALL iom_swap( "nemo" ) 
     55      IF( ln_crs_top ) CALL iom_swap( "nemo" ) 
    4956      ! 
    5057   END SUBROUTINE trc_wri_my_trc 
  • branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/TOP_SRC/TRP/trcadv.F90

    r4610 r5601  
    1616   USE oce_trc         ! ocean dynamics and active tracers 
    1717   USE trc             ! ocean passive tracers variables 
     18   USe domvvl 
    1819   USE trcnam_trp      ! passive tracers transport namelist variables 
    1920   USE traadv_cen2     ! 2nd order centered scheme (tra_adv_cen2   routine) 
  • branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/TOP_SRC/TRP/trcbbl_crs.F90

    r5105 r5601  
    2525   USE trabbl_crs              !  
    2626   USE prtctl_trc          ! Print control for debbuging 
    27    USE trdmod_oce 
     27   USE trd_oce 
    2828   USE trdtra 
    2929 
     
    9595        DO jn = 1, jptra 
    9696           ztrtrd(:,:,:,jn) = tra(:,:,:,jn) - ztrtrd(:,:,:,jn) 
    97            CALL trd_tra( kt, 'TRC', jn, jptra_trd_ldf, ztrtrd(:,:,:,jn) ) 
     97           CALL trd_tra( kt, 'TRC', jn, jptra_ldf, ztrtrd(:,:,:,jn) ) 
    9898        END DO 
    9999        CALL wrk_dealloc( jpi, jpj, jpk, jptra, ztrtrd ) ! temporary save of trends 
  • branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/TOP_SRC/TRP/trcldf_crs.F90

    r5105 r5601  
    2525   USE traldf_iso_grif ! lateral mixing          (tra_ldf_iso_grif routine) 
    2626   USE traldf_lap_crs      ! lateral mixing            (tra_ldf_lap routine) 
    27    USE trdmod_oce 
     27   USE trd_oce 
    2828   USE trdtra 
    2929   USE prtctl_trc      ! Print control 
     
    8383                          CALL tra_ldf_iso_crs     ( kt, nittrc000, 'TRC', gtru ,gtrv , trb, tra, jptra, rn_ahtb_0 ) 
    8484                       ENDIF 
    85       CASE ( 2 )   ;   CALL tra_ldf_bilap ( kt, nittrc000, 'TRC', gtru, gtrv, trb, tra, jptra            )  ! iso-level bilaplacian 
     85      CASE ( 2 )   ;   CALL tra_ldf_bilap ( kt, nittrc000, 'TRC', gtru, gtrv, gtrui, gtrvi, trb, tra, jptra            )  ! iso-level bilaplacian 
    8686      CASE ( 3 )   ;   CALL tra_ldf_bilapg( kt, nittrc000, 'TRC',             trb, tra, jptra            )  ! s-coord. horizontal bilaplacian 
    8787         ! 
     
    9797         WRITE(charout, FMT="('ldf1 ')") ;  CALL prt_ctl_trc_info(charout) 
    9898                                            CALL prt_ctl_trc( tab4d=tra, mask=tmask, clinfo=ctrcnm, clinfo2='trd' ) 
    99          CALL tra_ldf_bilap ( kt, nittrc000, 'TRC', gtru, gtrv, trb, tra, jptra            ) 
     99         CALL tra_ldf_bilap ( kt, nittrc000, 'TRC', gtru, gtrv, gtrui, gtrvi, trb, tra, jptra            ) 
    100100         WRITE(charout, FMT="('ldf2 ')") ;  CALL prt_ctl_trc_info(charout) 
    101101                                            CALL prt_ctl_trc( tab4d=tra, mask=tmask, clinfo=ctrcnm, clinfo2='trd' ) 
     
    108108        DO jn = 1, jptra 
    109109           ztrtrd(:,:,:,jn) = tra(:,:,:,jn) - ztrtrd(:,:,:,jn) 
    110            CALL trd_tra( kt, 'TRC', jn, jptra_trd_ldf, ztrtrd(:,:,:,jn) ) 
     110           CALL trd_tra( kt, 'TRC', jn, jptra_ldf, ztrtrd(:,:,:,jn) ) 
    111111        END DO 
    112112        CALL wrk_dealloc( jpi, jpj, jpk, jptra, ztrtrd ) 
  • branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/TOP_SRC/TRP/trcsbc.F90

    r4990 r5601  
    9595         IF( l_trdtrc ) ztrtrd(:,:,:) = tra(:,:,:,jn)  ! save trends 
    9696         !                                             ! add the trend to the general tracer trend 
    97          DO jj = 2, jpj 
    98             DO ji = fs_2, fs_jpim1   ! vector opt. 
    99                zse3t = 1. / fse3t(ji,jj,1) 
    100                tra(ji,jj,1,jn) = tra(ji,jj,1,jn) + zsfx(ji,jj) *  zsrau * trn(ji,jj,1,jn) * zse3t 
     97         IF( lk_vvl ) THEN  ! online coupling with vvl 
     98 
     99             
     100            DO jj = 2, jpj 
     101               DO ji = fs_2, fs_jpim1   ! vector opt. 
     102                  zse3t = 1. / fse3t(ji,jj,1) 
     103                  tra(ji,jj,1,jn) = tra(ji,jj,1,jn) + zsfx(ji,jj) *  zsrau * trn(ji,jj,1,jn) * zse3t 
     104               END DO 
    101105            END DO 
    102          END DO 
    103           
     106         ELSE 
     107            DO jj = 2, jpj 
     108               DO ji = fs_2, fs_jpim1   ! vector opt. 
     109                  zse3t = 1. / fse3t(ji,jj,1) 
     110                  tra(ji,jj,1,jn) = tra(ji,jj,1,jn) + zsfx(ji,jj) *  zsrau * trn(ji,jj,1,jn) * zse3t 
     111               END DO 
     112            END DO 
     113         ENDIF 
     114 
    104115         IF( l_trdtrc ) THEN 
    105116            ztrtrd(:,:,:) = tra(:,:,:,jn) - ztrtrd(:,:,:) 
  • branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/TOP_SRC/TRP/trcsbc_crs.F90

    r5105 r5601  
    1919   USE trc             ! ocean  passive tracers variables 
    2020   USE prtctl_trc      ! Print control for debbuging 
    21    USE trdmod_oce 
     21   USE trd_oce 
    2222   USE trdtra 
    2323!cbr   USE crs 
     
    101101         IF( l_trdtrc ) THEN 
    102102            ztrtrd(:,:,:) = tra(:,:,:,jn) - ztrtrd(:,:,:) 
    103             CALL trd_tra( kt, 'TRC', jn, jptra_trd_nsr, ztrtrd ) 
     103            CALL trd_tra( kt, 'TRC', jn, jptra_nsr, ztrtrd ) 
    104104         END IF 
    105105         !                                                       ! =========== 
  • branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/TOP_SRC/TRP/trctrp.F90

    r5105 r5601  
    3535   USE zpshde_crs      ! partial step: hor. derivative       (zps_hde routine) 
    3636   USE dom_oce , ONLY : ln_crs 
    37    USe crs, ONLY : jpi_crs,jpj_crs,wn_crs !cbr 
     37   USE crs     , ONLY : jpi_crs,jpj_crs,wn_crs,ln_crs_top !cbr 
     38   USE ldfslp_crs 
    3839 
    3940#if defined key_agrif 
     
    7576      IF( .NOT. lk_c1d ) THEN 
    7677         ! 
    77 !         CALL test(kstp,1) 
    78 !         IF( ln_crs ) THEN ;    CALL trc_sbc_crs( kstp ) 
    79 !         ELSE              ;    CALL trc_sbc( kstp ) 
    80 !         ENDIF 
    81 !         CALL test(kstp,2) 
    82          IF( ln_crs ) THEN ;    CALL trc_bbl_crs( kstp ) 
     78         IF( ln_crs_top ) THEN ;    CALL trc_sbc_crs( kstp ) 
     79         ELSE              ;    CALL trc_sbc( kstp ) 
     80         ENDIF 
     81         IF( ln_crs_top ) THEN ;    CALL trc_bbl_crs( kstp ) 
    8382         ELSE              ;    CALL trc_bbl( kstp ) 
    8483         ENDIF 
    8584         IF( ln_trcdmp )        CALL trc_dmp( kstp )            ! internal damping trends 
    86 !         CALL test(kstp,3) 
    8785 
    88          IF( ln_crs ) THEN ;    CALL trc_adv_crs( kstp ) 
     86         IF( ln_crs_top ) THEN ;    CALL trc_adv_crs( kstp ) 
    8987         ELSE              ;    CALL trc_adv( kstp ) 
    9088         ENDIF 
    91 !         CALL test(kstp,4) 
    9289 
    9390         IF( ln_trcdmp_clo )    CALL trc_dmp_clo( kstp )        ! internal damping trends on closed seas only 
    94          IF( ln_crs ) THEN ;    CALL trc_ldf_crs( kstp ) 
     91         IF( ln_crs_top ) THEN ;    CALL trc_ldf_crs( kstp ) 
    9592         ELSE              ;    CALL trc_ldf( kstp ) 
    9693         ENDIF 
    97 !         CALL test(kstp,5) 
    9894         IF( .NOT. lk_offline .AND. lk_zdfkpp )    & 
    9995            &                   CALL trc_kpp( kstp )            ! KPP non-local tracer fluxes 
     
    10197         IF(.NOT. Agrif_Root()) CALL Agrif_Sponge_trc           ! tracers sponge 
    10298#endif 
    103          IF( ln_crs ) THEN ;    CALL trc_zdf_crs( kstp ) 
     99         IF( ln_crs_top ) THEN ;    CALL trc_zdf_crs( kstp ) 
    104100         ELSE              ;    CALL trc_zdf( kstp ) 
    105101         ENDIF 
    106 !         CALL test(kstp,6) 
    107102                                CALL trc_nxt( kstp )            ! tracer fields at next time step      
    108 !         CALL test(kstp,7) 
    109103         IF( ln_trcrad )        CALL trc_rad( kstp )            ! Correct artificial negative concentrations 
    110104 
     
    112106      IF( .NOT. Agrif_Root())   CALL Agrif_Update_Trc( kstp )   ! Update tracer at AGRIF zoom boundaries : children only 
    113107#endif 
    114          IF( ln_zps    )        CALL zps_hde( kstp, jptra, trn, gtru, gtrv ) ! Partial steps: now horizontal gradient of passive 
     108          ! Partial steps: now horizontal gradient of passive 
    115109         IF( ln_zps    )THEN 
    116          IF( ln_crs ) THEN ;    CALL zps_hde_crs( kstp, jptra, trn, gtru, gtrv ) 
    117          ELSE              ;    CALL zps_hde( kstp, jptra, trn, gtru, gtrv ) 
     110         IF( ln_crs_top ) THEN ;    CALL zps_hde_crs( kstp, jptra, trn, gtru, gtrv ) 
     111         ELSE              ;    CALL zps_hde( kstp, jptra, trn, pgtu=gtru, pgtv=gtrv, sgtu=gtrui, sgtv=gtrvi ) 
    118112         ENDIF 
    119113         ENDIF 
     
    136130   INTEGER,INTENT(IN) :: kt,i 
    137131   REAL(wp)::zmin,zmax 
    138    INTEGER :: ji,jj,jk 
     132   INTEGER :: ii,jj,kk 
    139133   zmin=MINVAL( trb(2:jpi-1,2:jpj-1,:,1),mask=(tmask(2:jpi-1,2:jpj-1,:)==1)) ; CALL mpp_min(zmin) 
    140134   zmax=MAXVAL( trb(2:jpi-1,2:jpj-1,:,1),mask=(tmask(2:jpi-1,2:jpj-1,:)==1)) ; CALL mpp_max(zmax) 
     
    146140   zmax=MAXVAL( tra(2:jpi-1,2:jpj-1,:,1),mask=(tmask(2:jpi-1,2:jpj-1,:)==1)) ; CALL mpp_max(zmax) 
    147141   IF(lwp)WRITE(numout,*)"trctrp a ",kt,i,zmin,zmax    
    148    zmin=MINVAL( trn(2:jpi-1,2:jpj-1,1:jpk-1,1),mask=(tmask(2:jpi-1,2:jpj-1,1:jpk-1)==1)) ; CALL mpp_min(zmin) 
    149    zmax=MAXVAL( trn(2:jpi-1,2:jpj-1,1:jpk-1,1),mask=(tmask(2:jpi-1,2:jpj-1,1:jpk-1)==1)) ; CALL mpp_max(zmax) 
    150    IF(lwp)WRITE(numout,*)"trctrp n ",kt,i,zmin,zmax    
    151    zmin=MINVAL( tra(2:jpi-1,2:jpj-1,1:jpk-1,1),mask=(tmask(2:jpi-1,2:jpj-1,1:jpk-1)==1)) ; CALL mpp_min(zmin) 
    152    zmax=MAXVAL( tra(2:jpi-1,2:jpj-1,1:jpk-1,1),mask=(tmask(2:jpi-1,2:jpj-1,1:jpk-1)==1)) ; CALL mpp_max(zmax) 
    153    IF(lwp)WRITE(numout,*)"trctrp a ",kt,i,zmin,zmax    
     142   zmin=MINVAL( tra(2:jpi-1,2:jpj-1,30,1),mask=(tmask(2:jpi-1,2:jpj-1,30)==1)) ; CALL mpp_min(zmin) 
     143   zmax=MAXVAL( tra(2:jpi-1,2:jpj-1,30,1),mask=(tmask(2:jpi-1,2:jpj-1,30)==1)) ; CALL mpp_max(zmax) 
    154144 
    155    IF(narea==267)WRITE(narea+5000,*)"tra(17,5,74,1) = ",kt,i,tra(17,5,74,1) 
    156  
    157    DO ji=1,jpi 
    158    DO jj=1,jpj 
    159    DO jk=1,jpk 
    160       IF( tra(ji,jj,jk,1) .NE.  tra(ji,jj,jk,1) )WRITE(narea+200,*)"BUG7 ",ji,jj,jk, tra(ji,jj,jk,1); CALL FLUSH(narea+200) 
    161    ENDDO 
    162    ENDDO 
    163    ENDDO 
    164     
    165145   END SUBROUTINE test 
    166146#else 
  • branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/TOP_SRC/TRP/trczdf_crs.F90

    r5105 r5601  
    1919   USE trazdf_exp      ! vertical diffusion: explicit (tra_zdf_exp     routine) 
    2020   USE trazdf_imp_crs      ! vertical diffusion: implicit (tra_zdf_imp     routine) 
    21    USE trdmod_oce 
     21   USE trd_oce 
    2222   USE trdtra 
    2323   USE prtctl_trc      ! Print control 
     24   USE timing 
    2425 
    2526   IMPLICIT NONE 
     
    7273      ! 
    7374      IF( kt == nittrc000 )   CALL zdf_ctl          ! initialisation & control of options 
    74  
    75 #if ! defined key_pisces 
    76       IF( neuler == 0 .AND. kt == nittrc000 ) THEN     ! at nittrc000 
    77          r2dt(:) =  rdttrc(:)           ! = rdttrc (restarting with Euler time stepping) 
    78       ELSEIF( kt <= nittrc000 + 1 ) THEN          ! at nittrc000 or nittrc000+1 
    79          r2dt(:) = 2. * rdttrc(:)       ! = 2 rdttrc (leapfrog) 
     75!cbr bug 
     76!#if ! defined key_pisces 
     77!      IF( neuler == 0 .AND. kt == nittrc000 ) THEN     ! at nittrc000 
     78!         r2dt(:) =  rdttrc(:)           ! = rdttrc (restarting with Euler time stepping) 
     79!      ELSEIF( kt <= nittrc000 + 1 ) THEN          ! at nittrc000 or nittrc000+1 
     80!         r2dt(:) = 2. * rdttrc(:)       ! = 2 rdttrc (leapfrog) 
     81!      ENDIF 
     82!#else 
     83!      r2dt(:) =  rdttrc(:)              ! = rdttrc (for PISCES use Euler time stepping) 
     84!#endif 
     85      IF( ln_top_euler) THEN 
     86         r2dt(:) =  rdttrc(:)              ! = rdttrc (use Euler time stepping) 
     87      ELSE 
     88         IF( neuler == 0 .AND. kt == nittrc000 ) THEN     ! at nittrc000 
     89            r2dt(:) =  rdttrc(:)           ! = rdttrc (restarting with Euler time stepping) 
     90         ELSEIF( kt <= nittrc000 + 1 ) THEN          ! at nittrc000 or nittrc000+1 
     91            r2dt(:) = 2. * rdttrc(:)       ! = 2 rdttrc (leapfrog) 
     92         ENDIF 
    8093      ENDIF 
    81 #else 
    82       r2dt(:) =  rdttrc(:)              ! = rdttrc (for PISCES use Euler time stepping) 
    83 #endif 
    8494 
    8595      IF( l_trdtrc )  THEN 
     
    98108      CASE ( 0 ) ;  CALL tra_zdf_exp( kt, nittrc000, 'TRC', r2dt, nn_trczdf_exp, trb, tra, jptra )    !   explicit scheme  
    99109      CASE ( 1 ) ;  CALL tra_zdf_imp_crs( kt, nittrc000, 'TRC', r2dt,                trb, tra, jptra )    !   implicit scheme           
    100  
    101110      END SELECT 
    102111 
     
    106115               ztrtrd(:,:,jk,jn) = ( ( tra(:,:,jk,jn) - trb(:,:,jk,jn) ) / r2dt(jk) ) - ztrtrd(:,:,jk,jn) 
    107116            END DO 
    108             CALL trd_tra( kt, 'TRC', jn, jptra_trd_zdf, ztrtrd(:,:,:,jn) ) 
     117            CALL trd_tra( kt, 'TRC', jn, jptra_zdf, ztrtrd(:,:,:,jn) ) 
    109118         END DO 
    110119         CALL wrk_dealloc( jpi, jpj, jpk, jptra, ztrtrd ) 
  • branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/TOP_SRC/oce_trc.F90

    r5105 r5601  
    142142   USE oce , ONLY :   tsa     =>    tsa     !: 4D array contaning ( ta, sa ) 
    143143   USE oce , ONLY :   rhop    =>    rhop    !: potential volumic mass (kg m-3)  
    144    USE oce , ONLY :   rhd     =>    rhd     !: in situ density anomalie rhd=(rho-rau0)/rau0 (no units) 
     144   USE crs , ONLY :   rhd     =>    rhd_crs    !: in situ density anomalie rhd=(rho-rau0)/rau0 (no units) 
     145   USE crs , ONLY :   rn2b    =>    rb2_crs     !: in situ density anomalie rhd=(rho-rau0)/rau0 (no units) 
     146   USE crs , ONLY :   rab_n   =>    rab_crs_n     !: in situ density anomalie rhd=(rho-rau0)/rau0 (no units) 
    145147   USE crs , ONLY :   hdivn   =>    hdivn_crs   !: horizontal divergence (1/s) 
    146148   USE crs , ONLY :   hdivb   =>    hdivb_crs   !: horizontal divergence (1/s) 
     
    160162   USE crs , ONLY :   rnf        =>    rnf_crs        !: river runoff   [Kg/m2/s] 
    161163   USE crs , ONLY :   fr_i       =>    fr_i_crs       !: ice fraction (between 0 to 1) 
     164   USE trcnam_trp , ONLY :  aht0     =>   rn_ahtrc_0        !: horizontal eddy diffusivity for tracers (m2/s) 
     165   USE crs , ONLY :  ahtu     =>   ahtu_crs        !: lateral diffusivity coef. at u-points  
     166   USE crs , ONLY :  ahtv     =>   ahtv_crs        !: lateral diffusivity coef. at v-points  
     167   USE crs , ONLY :  ahtw     =>   ahtw_crs        !: lateral diffusivity coef. at w-points  
     168   USE crs , ONLY :  ahtt     =>   ahtt_crs        !: lateral diffusivity coef. at t-points 
     169   USE ldftra_oce , ONLY :  rldf     =>   rldf 
    162170 
    163171   USE crs , ONLY :   avt        =>   avt_crs         !: vert. diffusivity coef. at w-point for temp   
     
    177185  !* direction of lateral diffusion * 
    178186#if   defined key_ldfslp 
    179    USE ldfslp_crs , ONLY :   uslp       =>   uslp_crs         !: i-direction slope at u-, w-points 
    180    USE ldfslp_crs , ONLY :   vslp       =>   vslp_crs         !: j-direction slope at v-, w-points 
    181    USE ldfslp_crs , ONLY :   wslpi      =>   wslpi_crs        !: i-direction slope at u-, w-points 
    182    USE ldfslp_crs , ONLY :   wslpj      =>   wslpj_crs        !: j-direction slope at v-, w-points 
     187   USE crs , ONLY :   uslp       =>   uslp_crs         !: i-direction slope at u-, w-points 
     188   USE crs , ONLY :   vslp       =>   vslp_crs         !: j-direction slope at v-, w-points 
     189   USE crs , ONLY :   wslpi      =>   wslpi_crs        !: i-direction slope at u-, w-points 
     190   USE crs , ONLY :   wslpj      =>   wslpj_crs        !: j-direction slope at v-, w-points 
    183191#endif 
    184192 
     
    318326   USE oce , ONLY :   rhop    =>    rhop    !: potential volumic mass (kg m-3)  
    319327   USE oce , ONLY :   rhd     =>    rhd     !: in situ density anomalie rhd=(rho-rau0)/rau0 (no units) 
     328   USE oce , ONLY :   rab_n     =>    rab_n   !: in situ density anomalie rhd=(rho-rau0)/rau0 (no units) 
     329   USE oce , ONLY :   rn2b    =>    rn2b    !: in situ density anomalie rhd=(rho-rau0)/rau0 (no units) 
    320330   USE oce , ONLY :   hdivn   =>    hdivn   !: horizontal divergence (1/s) 
    321331   USE oce , ONLY :   rotn    =>    rotn    !: relative vorticity    [s-1] 
  • branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/TOP_SRC/trcini.F90

    r5105 r5601  
    9494         cvol(:,:,jk) = e1e2t(:,:) * fse3t(:,:,jk) * tmask(:,:,jk) 
    9595      END DO 
    96       IF( lk_degrad ) cvol(:,:,:) = cvol(:,:,:) * facvol(:,:,:)      ! degrad option: reduction by facvol 
     96      !cbr IF( lk_degrad ) cvol(:,:,:) = cvol(:,:,:) * facvol(:,:,:)      ! degrad option: reduction by facvol 
    9797      !                                                              ! total volume of the ocean  
    9898      areatot = glob_sum( cvol(:,:,:) ) 
  • branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/TOP_SRC/trcstp.F90

    r5105 r5601  
    6666            cvol(:,:,jk) = e1e2t(:,:) * fse3t(:,:,jk) * tmask(:,:,jk) 
    6767         END DO 
    68          IF( lk_degrad )  cvol(:,:,:) = cvol(:,:,:) * facvol(:,:,:)       ! degrad option: reduction by facvol 
     68         !cbr IF( lk_degrad )  cvol(:,:,:) = cvol(:,:,:) * facvol(:,:,:)       ! degrad option: reduction by facvol 
    6969         areatot         = glob_sum( cvol(:,:,:) ) 
    7070      ENDIF 
  • branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/TOP_SRC/trcsub.F90

    r5105 r5601  
    1414   USE prtctl_trc       ! Print control for debbuging 
    1515   USE iom, ONLY : jpnf90 
    16    USE in_out_manager, ONLY : jprstlib 
     16   USE iom_def, ONLY : jprstlib 
    1717   USE lbclnk 
    1818!#if defined key_zdftke 
     
    112112          sshn_tm  (:,:)         = sshn_tm  (:,:)         + sshn  (:,:)  
    113113          rnf_tm   (:,:)         = rnf_tm   (:,:)         + rnf   (:,:)  
    114           h_rnf_tm (:,:)         = h_rnf_tm (:,:)         + h_rnf (:,:)  
     114!cbr          h_rnf_tm (:,:)         = h_rnf_tm (:,:)         + h_rnf (:,:)  
    115115          hmld_tm  (:,:)         = hmld_tm  (:,:)         + hmld  (:,:) 
    116116          fr_i_tm  (:,:)         = fr_i_tm  (:,:)         + fr_i  (:,:) 
     
    151151         ssha_temp  (:,:)        = ssha  (:,:) 
    152152         rnf_temp   (:,:)        = rnf   (:,:) 
    153          h_rnf_temp (:,:)        = h_rnf (:,:) 
     153!cbr         h_rnf_temp (:,:)        = h_rnf (:,:) 
    154154         hmld_temp  (:,:)        = hmld  (:,:) 
    155155         fr_i_temp  (:,:)        = fr_i  (:,:) 
     
    197197         sshn_tm  (:,:)          = sshn_tm    (:,:)       + sshn  (:,:)  
    198198         rnf_tm   (:,:)          = rnf_tm     (:,:)       + rnf   (:,:)  
    199          h_rnf_tm (:,:)          = h_rnf_tm   (:,:)       + h_rnf (:,:)  
     199!cbr         h_rnf_tm (:,:)          = h_rnf_tm   (:,:)       + h_rnf (:,:)  
    200200         hmld_tm  (:,:)          = hmld_tm    (:,:)       + hmld  (:,:) 
    201201         fr_i_tm  (:,:)          = fr_i_tm    (:,:)       + fr_i  (:,:) 
     
    208208         sshb     (:,:)          = sshb_hold  (:,:) 
    209209         rnf      (:,:)          = rnf_tm     (:,:) * r1_ndttrcp1  
    210          h_rnf    (:,:)          = h_rnf_tm   (:,:) * r1_ndttrcp1  
     210!cbr         h_rnf    (:,:)          = h_rnf_tm   (:,:) * r1_ndttrcp1  
    211211         hmld     (:,:)          = hmld_tm    (:,:) * r1_ndttrcp1  
    212212         !  variables that are initialized after averages 
     
    320320      sshn_tm  (:,:) = sshn  (:,:)  
    321321      rnf_tm   (:,:) = rnf   (:,:)  
    322       h_rnf_tm (:,:) = h_rnf (:,:)  
     322!cbr      h_rnf_tm (:,:) = h_rnf (:,:)  
    323323      hmld_tm  (:,:) = hmld  (:,:) 
    324324 
     
    379379      ssha  (:,:)     =  ssha_temp  (:,:) 
    380380      rnf   (:,:)     =  rnf_temp   (:,:) 
    381       h_rnf (:,:)     =  h_rnf_temp (:,:) 
     381!cbr      h_rnf (:,:)     =  h_rnf_temp (:,:) 
    382382      ! 
    383383      hmld  (:,:)     =  hmld_temp  (:,:) 
     
    428428      sshn_tm    (:,:) = sshn  (:,:)  
    429429      rnf_tm     (:,:) = rnf   (:,:)  
    430       h_rnf_tm   (:,:) = h_rnf (:,:)  
     430!cbr      h_rnf_tm   (:,:) = h_rnf (:,:)  
    431431      hmld_tm    (:,:) = hmld  (:,:) 
    432432      fr_i_tm    (:,:) = fr_i  (:,:) 
Note: See TracChangeset for help on using the changeset viewer.