Ignore:
Timestamp:
2019-03-14T18:46:14+01:00 (2 years ago)
Author:
acc
Message:

Branch 2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps. Changes to OFF, SAO and SAS to enable SETTE testing. SAS/step.F90 is based on the yet-to-be-finalised version of OCE/step.F90 and so may need updating later

Location:
NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/src
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/src/OFF/nemogcm.F90

    r10601 r10756  
    3939   USE daymod         ! calendar                            (day     routine) 
    4040   USE trcstp         ! passive tracer time-stepping        (trc_stp routine) 
     41   USE step , ONLY : update_pointers           ! RK3 development only.              (stp     routine) 
    4142   USE dtadyn         ! Lecture and interpolation of the dynamical fields 
    4243   !              ! Passive tracers needs 
     
    286287      ! Now we know the dimensions of the grid and numout has been set: we can allocate arrays 
    287288      CALL nemo_alloc() 
     289 
     290      ! Initialise time level indices 
     291      Nm1 = 1; Nnn = 2; Np1 = 3; Nrhs = Np1 
     292      Nm1_2lev = 1; Nnn_2lev = 2 
     293 
     294      ! Initialisation of temporary pointers (to be deleted after development finished) 
     295      CALL update_pointers() 
    288296 
    289297      !                             !-------------------------------! 
  • NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/src/SAO/nemogcm.F90

    r10601 r10756  
    234234      CALL nemo_alloc() 
    235235 
     236      ! Initialise time level indices 
     237      Nm1 = 1; Nnn = 2; Np1 = 3; Nrhs = Np1 
     238      Nm1_2lev = 1; Nnn_2lev = 2 
     239 
     240      ! Initialisation of temporary pointers (to be deleted after development finished) 
     241      CALL update_pointers() 
     242 
    236243      !                             !-------------------------------! 
    237244      !                             !  NEMO general initialization  ! 
  • NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/src/SAS/nemogcm.F90

    r10601 r10756  
    335335      CALL nemo_alloc() 
    336336 
     337      ! Initialise time level indices 
     338      Nm1 = 1; Nnn = 2; Np1 = 3; Nrhs = Np1 
     339      Nm1_2lev = 1; Nnn_2lev = 2 
     340 
     341      ! Initialisation of temporary pointers (to be deleted after development finished) 
     342      CALL update_pointers() 
     343 
    337344      !                             !-------------------------------! 
    338345      !                             !  NEMO general initialization  ! 
  • NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/src/SAS/step.F90

    r10425 r10756  
    4747 
    4848   PUBLIC   stp   ! called by nemogcm.F90 
     49   PUBLIC   update_pointers ! called by nemo_init 
    4950 
    5051   !!---------------------------------------------------------------------- 
     
    114115      ENDIF 
    115116#endif 
    116                               
     117      ! Swap time levels 
     118      IF( .NOT. (neuler == 0 .AND. kstp == nit000)  ) THEN 
     119         Nrhs = Nm1 
     120         Nm1 = Nnn 
     121         Nnn = Np1 
     122         Np1 = Nrhs 
     123      ENDIF 
     124      ! 
     125      ! Update temporary pointers 
     126      CALL update_pointers() 
    117127      !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    118128      ! Control 
     
    147157      ! 
    148158   END SUBROUTINE stp 
     159    
     160   SUBROUTINE update_pointers 
     161      !!---------------------------------------------------------------------- 
     162      !!                     ***  ROUTINE update_pointers  *** 
     163      !! 
     164      !! ** Purpose :   Associate temporary pointer arrays. 
     165      !!                For IMMERSE development phase only - to be deleted 
     166      !! 
     167      !! ** Method  : 
     168      !!---------------------------------------------------------------------- 
     169 
     170      ub => uu(:,:,:,Nm1); un => uu(:,:,:,Nnn); ua => uu(:,:,:,Np1) 
     171      vb => vv(:,:,:,Nm1); vn => vv(:,:,:,Nnn); va => vv(:,:,:,Np1) 
     172 
     173      e3t_b => e3t(:,:,:,Nm1); e3t_n => e3t(:,:,:,Nnn); e3t_a => e3t(:,:,:,Np1) 
     174      e3u_b => e3u(:,:,:,Nm1); e3u_n => e3u(:,:,:,Nnn); e3u_a => e3u(:,:,:,Np1) 
     175      e3v_b => e3v(:,:,:,Nm1); e3v_n => e3v(:,:,:,Nnn); e3v_a => e3v(:,:,:,Np1) 
     176 
     177      e3f_n => e3f(:,:,:) 
     178 
     179      e3w_b  => e3w (:,:,:,Nm1_2lev); e3w_n  => e3w (:,:,:,Nnn_2lev) 
     180      e3uw_b => e3uw(:,:,:,Nm1_2lev); e3uw_n => e3uw(:,:,:,Nnn_2lev) 
     181      e3vw_b => e3vw(:,:,:,Nm1_2lev); e3vw_n => e3vw(:,:,:,Nnn_2lev) 
     182 
     183   END SUBROUTINE update_pointers 
    149184 
    150185   !!====================================================================== 
Note: See TracChangeset for help on using the changeset viewer.