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 2830 for branches/2011/dev_r2802_TOP_substepping/NEMOGCM/NEMO/OPA_SRC – NEMO

Ignore:
Timestamp:
2011-08-23T12:20:06+02:00 (13 years ago)
Author:
kpedwards
Message:

Updates to average physics variables for TOP substepping.

Location:
branches/2011/dev_r2802_TOP_substepping/NEMOGCM/NEMO/OPA_SRC/TRA
Files:
14 edited

Legend:

Unmodified
Added
Removed
  • branches/2011/dev_r2802_TOP_substepping/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_cen2.F90

    r2715 r2830  
    3232   USE trc_oce         ! share passive tracers/Ocean variables 
    3333   USE lib_mpp         ! MPP library 
     34#if defined key_top 
     35   USE trc, ONLY: nittrc000  !get first time step for passive tracers 
     36#endif 
    3437 
    3538   IMPLICIT NONE 
     
    131134      !!---------------------------------------------------------------------- 
    132135 
    133       IF( wrk_in_use(2, 1) .OR. wrk_in_use(3, 1,2) ) THEN 
     136      IF( wrk_in_use(2, 35) .OR. wrk_in_use(3, 14,15) ) THEN 
    134137         CALL ctl_stop('tra_adv_cen2: requested workspace arrays unavailable')   ;   RETURN 
    135138      ENDIF 
    136139 
     140#if defined key_top 
     141      IF( kt == nit000 .OR. (kt == nittrc000 .AND. cdtype == 'TRC'))  THEN 
     142#else 
    137143      IF( kt == nit000 )  THEN 
     144#endif 
    138145         IF(lwp) WRITE(numout,*) 
    139146         IF(lwp) WRITE(numout,*) 'tra_adv_cen2 : 2nd order centered advection scheme on ', cdtype 
     
    141148         IF(lwp) WRITE(numout,*) 
    142149         ! 
    143          ALLOCATE( upsmsk(jpi,jpj), STAT=ierr ) 
    144          IF( ierr /= 0 )   CALL ctl_stop('STOP', 'tra_adv_cen2: unable to allocate array') 
     150         IF (.not. ALLOCATED(upsmsk))THEN 
     151             ALLOCATE( upsmsk(jpi,jpj), STAT=ierr ) 
     152             IF( ierr /= 0 )   CALL ctl_stop('STOP', 'tra_adv_cen2: unable to allocate array') 
     153         ENDIF 
     154 
    145155         ! 
    146156         upsmsk(:,:) = 0._wp                             ! not upstream by default 
     
    275285      ENDIF 
    276286      ! 
    277       IF( wrk_not_released(2, 1)   .OR.   & 
    278           wrk_not_released(3, 1,2) )   CALL ctl_stop('tra_adv_cen2: failed to release workspace arrays') 
     287      IF( wrk_not_released(2, 35)   .OR.   & 
     288          wrk_not_released(3, 14,15) )   CALL ctl_stop('tra_adv_cen2: failed to release workspace arrays') 
    279289      ! 
    280290   END SUBROUTINE tra_adv_cen2 
  • branches/2011/dev_r2802_TOP_substepping/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_muscl.F90

    r2715 r2830  
    2525   USE diaptr          ! poleward transport diagnostics 
    2626   USE trc_oce         ! share passive tracers/Ocean variables 
     27#if defined key_top 
     28   USE trc, ONLY: nittrc000  !get first time step for passive tracers 
     29#endif 
    2730 
    2831 
     
    8386      ENDIF 
    8487 
     88#if defined key_top 
     89      IF( kt == nit000 .OR. (kt == nittrc000 .AND. cdtype == 'TRC'))  THEN 
     90#else 
    8591      IF( kt == nit000 )  THEN 
     92#endif 
    8693         IF(lwp) WRITE(numout,*) 
    8794         IF(lwp) WRITE(numout,*) 'tra_adv : MUSCL advection scheme on ', cdtype 
  • branches/2011/dev_r2802_TOP_substepping/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_muscl2.F90

    r2715 r2830  
    2323   USE diaptr          ! poleward transport diagnostics 
    2424   USE trc_oce         ! share passive tracers/Ocean variables 
     25#if defined key_top 
     26   USE trc, ONLY: nittrc000  !get first time step for passive tracers 
     27#endif 
    2528 
    2629 
     
    8184      ENDIF 
    8285 
     86#if defined key_top 
     87      IF( kt == nit000 .OR. (kt == nittrc000 .AND. cdtype == 'TRC'))  THEN 
     88#else 
    8389      IF( kt == nit000 )  THEN 
     90#endif 
    8491         IF(lwp) WRITE(numout,*) 
    8592         IF(lwp) WRITE(numout,*) 'tra_adv_muscl2 : MUSCL2 advection scheme on ', cdtype 
  • branches/2011/dev_r2802_TOP_substepping/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_qck.F90

    r2715 r2830  
    2626   USE diaptr          ! poleward transport diagnostics 
    2727   USE trc_oce         ! share passive tracers/Ocean variables 
     28#if defined key_top 
     29   USE trc, ONLY: nittrc000  !get first time step for passive tracers 
     30#endif 
    2831 
    2932   IMPLICIT NONE 
     
    9093      !!---------------------------------------------------------------------- 
    9194 
     95#if defined key_top 
     96      IF( kt == nit000 .OR. (kt == nittrc000 .AND. cdtype == 'TRC'))  THEN 
     97#else 
    9298      IF( kt == nit000 )  THEN 
     99#endif 
    93100         IF(lwp) WRITE(numout,*) 
    94101         IF(lwp) WRITE(numout,*) 'tra_adv_qck : 3rd order quickest advection scheme on ', cdtype 
  • branches/2011/dev_r2802_TOP_substepping/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_tvd.F90

    r2715 r2830  
    3232   USE diaptr          ! poleward transport diagnostics 
    3333   USE trc_oce         ! share passive tracers/Ocean variables 
     34#if defined key_top 
     35   USE trc, ONLY: nittrc000  !get first time step for passive tracers 
     36#endif 
    3437 
    3538 
     
    8992      ENDIF 
    9093 
     94#if defined key_top 
     95      IF( kt == nit000 .OR. (kt == nittrc000 .AND. cdtype == 'TRC'))  THEN 
     96#else 
    9197      IF( kt == nit000 )  THEN 
     98#endif 
    9299         IF(lwp) WRITE(numout,*) 
    93100         IF(lwp) WRITE(numout,*) 'tra_adv_tvd : TVD advection scheme on ', cdtype 
  • branches/2011/dev_r2802_TOP_substepping/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_ubs.F90

    r2715 r2830  
    2222   USE dynspg_oce      ! choice/control of key cpp for surface pressure gradient 
    2323   USE trc_oce         ! share passive tracers/Ocean variables 
     24#if defined key_top 
     25   USE trc, ONLY: nittrc000  !get first time step for passive tracers 
     26#endif 
    2427 
    2528   IMPLICIT NONE 
     
    97100      ENDIF 
    98101 
     102#if defined key_top 
     103      IF( kt == nit000 .OR. (kt == nittrc000 .AND. cdtype == 'TRC'))  THEN 
     104#else 
    99105      IF( kt == nit000 )  THEN 
     106#endif 
    100107         IF(lwp) WRITE(numout,*) 
    101108         IF(lwp) WRITE(numout,*) 'tra_adv_ubs :  horizontal UBS advection scheme on ', cdtype 
  • branches/2011/dev_r2802_TOP_substepping/NEMOGCM/NEMO/OPA_SRC/TRA/trabbl.F90

    r2715 r2830  
    3434   USE lbclnk         ! ocean lateral boundary conditions 
    3535   USE prtctl         ! Print control 
     36#if defined key_top 
     37   USE trc, ONLY: nittrc000  !get first time step for passive tracers 
     38#endif 
    3639 
    3740   IMPLICIT NONE 
     
    389392      ENDIF 
    390393      
     394#if defined key_top 
     395      IF( kt == nit000 .OR. (kt == nittrc000 .AND. cdtype == 'TRC'))  THEN 
     396#else 
    391397      IF( kt == nit000 )  THEN 
     398#endif 
    392399         IF(lwp)  WRITE(numout,*) 
    393400         IF(lwp)  WRITE(numout,*) 'trabbl:bbl : Compute bbl velocities and diffusive coefficients in ', cdtype 
  • branches/2011/dev_r2802_TOP_substepping/NEMOGCM/NEMO/OPA_SRC/TRA/traldf_bilap.F90

    r2715 r2830  
    2929   USE trc_oce         ! share passive tracers/Ocean variables 
    3030   USE lib_mpp         ! MPP library 
     31#if defined key_top 
     32   USE trc, ONLY: nittrc000  !get first time step for passive tracers 
     33#endif 
    3134 
    3235   IMPLICIT NONE 
     
    9396      ENDIF 
    9497 
     98#if defined key_top 
     99      IF( kt == nit000 .OR. (kt == nittrc000 .AND. cdtype == 'TRC'))  THEN 
     100#else 
    95101      IF( kt == nit000 )  THEN 
     102#endif 
    96103         IF(lwp) WRITE(numout,*) 
    97104         IF(lwp) WRITE(numout,*) 'tra_ldf_bilap : iso-level biharmonic operator on ', cdtype 
  • branches/2011/dev_r2802_TOP_substepping/NEMOGCM/NEMO/OPA_SRC/TRA/traldf_bilapg.F90

    r2715 r2830  
    2525   USE trc_oce         ! share passive tracers/Ocean variables 
    2626   USE lib_mpp         ! MPP library 
     27#if defined key_top 
     28   USE trc, ONLY: nittrc000  !get first time step for passive tracers 
     29#endif 
    2730 
    2831   IMPLICIT NONE 
     
    8285      ENDIF 
    8386 
     87#if defined key_top 
     88      IF( kt == nit000 .OR. (kt == nittrc000 .AND. cdtype == 'TRC'))  THEN 
     89#else 
    8490      IF( kt == nit000 )  THEN 
     91#endif 
    8592         IF(lwp) WRITE(numout,*) 
    8693         IF(lwp) WRITE(numout,*) 'tra_ldf_bilapg : horizontal biharmonic operator in s-coordinate on ', cdtype 
  • branches/2011/dev_r2802_TOP_substepping/NEMOGCM/NEMO/OPA_SRC/TRA/traldf_iso.F90

    r2715 r2830  
    3232   USE lbclnk          ! ocean lateral boundary conditions (or mpp link) 
    3333#endif 
     34#if defined key_top 
     35   USE trc, ONLY: nittrc000  !get first time step for passive tracers 
     36#endif 
    3437 
    3538   IMPLICIT NONE 
     
    121124         IF(lwp) WRITE(numout,*) '~~~~~~~~~~~' 
    122125      ENDIF 
     126#if defined key_top 
     127      IF( kt == nittrc000 .AND. cdtype == 'TRC' )  THEN 
     128         IF(lwp) WRITE(numout,*) 
     129         IF(lwp) WRITE(numout,*) 'tra_ldf_iso : rotated laplacian diffusion operator on ', cdtype 
     130         IF(lwp) WRITE(numout,*) '~~~~~~~~~~~' 
     131      ENDIF 
     132#endif 
    123133      ! 
    124134      !                                                          ! =========== 
  • branches/2011/dev_r2802_TOP_substepping/NEMOGCM/NEMO/OPA_SRC/TRA/traldf_iso_grif.F90

    r2715 r2830  
    2626   USE lbclnk          ! ocean lateral boundary conditions (or mpp link) 
    2727   USE lib_mpp         ! MPP library 
     28#if defined key_top 
     29   USE trc, ONLY: nittrc000  !get first time step for passive tracers 
     30#endif 
    2831 
    2932   IMPLICIT NONE 
     
    127130      !zdkt(1:jpi,1:jpj,0:1) => wrk_3d_9(:,:,1:2) 
    128131 
     132#if defined key_top 
     133      IF( kt == nit000 .OR. (kt == nittrc000 .AND. cdtype == 'TRC'))  THEN 
     134#else 
    129135      IF( kt == nit000 )  THEN 
     136#endif 
    130137         IF(lwp) WRITE(numout,*) 
    131138         IF(lwp) WRITE(numout,*) 'tra_ldf_iso_grif : rotated laplacian diffusion operator on ', cdtype 
    132139         IF(lwp) WRITE(numout,*) '                   WARNING: STILL UNDER TEST, NOT RECOMMENDED. USE AT YOUR OWN PERIL' 
    133140         IF(lwp) WRITE(numout,*) '~~~~~~~~~~~' 
    134          ALLOCATE( ah_wslp2(jpi,jpj,jpk) , zdkt(jpi,jpj,0:1), STAT=ierr ) 
     141         IF (.not. ALLOCATED(ah_wslp2))THEN 
     142             ALLOCATE( ah_wslp2(jpi,jpj,jpk) , zdkt(jpi,jpj,0:1), STAT=ierr ) 
     143         ENDIF 
    135144         IF( lk_mpp   )   CALL mpp_sum ( ierr ) 
    136145         IF( ierr > 0 )   CALL ctl_stop('STOP', 'tra_ldf_iso_grif: unable to allocate arrays') 
    137146         IF( ln_traldf_gdia ) THEN 
    138             ALLOCATE( psix_eiv(jpi,jpj,jpk) , psiy_eiv(jpi,jpj,jpk) , STAT=ierr ) 
    139             IF( lk_mpp   )   CALL mpp_sum ( ierr ) 
    140             IF( ierr > 0 )   CALL ctl_stop('STOP', 'tra_ldf_iso_grif: unable to allocate diagnostics') 
     147            IF (.not. ALLOCATED(psix_eiv))THEN 
     148                ALLOCATE( psix_eiv(jpi,jpj,jpk) , psiy_eiv(jpi,jpj,jpk) , STAT=ierr ) 
     149                IF( lk_mpp   )   CALL mpp_sum ( ierr ) 
     150                IF( ierr > 0 )   CALL ctl_stop('STOP', 'tra_ldf_iso_grif: unable to allocate diagnostics') 
     151            ENDIF 
    141152         ENDIF 
    142153      ENDIF 
  • branches/2011/dev_r2802_TOP_substepping/NEMOGCM/NEMO/OPA_SRC/TRA/tranxt.F90

    r2715 r2830  
    4848   USE agrif_opa_interp 
    4949#endif 
     50#if defined key_top 
     51   USE trc, ONLY: nittrc000  !get first time step for passive tracers 
     52#endif 
    5053 
    5154   IMPLICIT NONE 
     
    214217      !!---------------------------------------------------------------------- 
    215218 
     219#if defined key_top 
     220      IF( kt == nit000 .OR. (kt == nittrc000 .AND. cdtype == 'TRC'))  THEN 
     221#else 
    216222      IF( kt == nit000 )  THEN 
     223#endif 
    217224         IF(lwp) WRITE(numout,*) 
    218          IF(lwp) WRITE(numout,*) 'tra_nxt_fix : time stepping' 
     225         IF(lwp) WRITE(numout,*) 'tra_nxt_fix : time stepping', cdtype 
    219226         IF(lwp) WRITE(numout,*) '~~~~~~~~~~~' 
    220227      ENDIF 
     
    282289      !!---------------------------------------------------------------------- 
    283290 
    284       IF( kt == nit000 ) THEN 
     291#if defined key_top 
     292      IF( kt == nit000 .OR. (kt == nittrc000 .AND. cdtype == 'TRC'))  THEN 
     293#else 
     294      IF( kt == nit000 )  THEN 
     295#endif 
    285296         IF(lwp) WRITE(numout,*) 
    286          IF(lwp) WRITE(numout,*) 'tra_nxt_vvl : time stepping' 
     297         IF(lwp) WRITE(numout,*) 'tra_nxt_vvl : time stepping', cdtype 
    287298         IF(lwp) WRITE(numout,*) '~~~~~~~~~~~' 
    288299      ENDIF 
  • branches/2011/dev_r2802_TOP_substepping/NEMOGCM/NEMO/OPA_SRC/TRA/trazdf_exp.F90

    r2715 r2830  
    3131   USE in_out_manager  ! I/O manager 
    3232   USE lib_mpp         ! MPP library 
     33#if defined key_top 
     34   USE trc, ONLY: nittrc000  !get first time step for passive tracers 
     35#endif 
    3336 
    3437   IMPLICIT NONE 
     
    9396      ENDIF 
    9497 
     98#if defined key_top 
     99      IF( kt == nit000 .OR. (kt == nittrc000 .AND. cdtype == 'TRC'))  THEN 
     100#else 
    95101      IF( kt == nit000 )  THEN 
     102#endif 
    96103         IF(lwp) WRITE(numout,*) 
    97104         IF(lwp) WRITE(numout,*) 'tra_zdf_exp : explicit vertical mixing on ', cdtype 
  • branches/2011/dev_r2802_TOP_substepping/NEMOGCM/NEMO/OPA_SRC/TRA/trazdf_imp.F90

    r2715 r2830  
    3535   USE lbclnk          ! ocean lateral boundary conditions (or mpp link) 
    3636   USE lib_mpp         ! MPP library 
     37#if defined key_top 
     38   USE trc, ONLY: nittrc000  !get first time step for passive tracers 
     39#endif 
    3740 
    3841   IMPLICIT NONE 
     
    102105         ENDIF 
    103106      ENDIF 
     107#if defined key_top 
     108      IF( kt == nittrc000 .AND. cdtype == 'TRC' )  THEN 
     109         IF(lwp)WRITE(numout,*) 
     110         IF(lwp)WRITE(numout,*) 'tra_zdf_imp : implicit vertical mixing on ', cdtype 
     111         IF(lwp)WRITE(numout,*) '~~~~~~~~~~~ ' 
     112         ! 
     113         IF( lk_vvl ) THEN   ;    r_vvl = 1._wp       ! Variable volume indicator 
     114         ELSE                ;    r_vvl = 0._wp        
     115         ENDIF 
     116      ENDIF 
     117#endif 
    104118      ! 
    105119      !                                               ! ============= ! 
Note: See TracChangeset for help on using the changeset viewer.