Ignore:
Timestamp:
2019-05-02T17:10:39+02:00 (2 years ago)
Author:
acc
Message:

2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps : Convert IOM, LDF, OBS and SBC directories and compatibility changes elsewhere that these changes enforce. Changes pass SETTE and compare with original trunk results. Outstanding issues (currently with work-arounds) in DIU/step_diu.F90 and fld_bdy_interp within SBC/fldread.F90; proper soltions pending

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

Legend:

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

    r10874 r10922  
    335335      CALL nemo_alloc() 
    336336 
     337      ! Initialise time level indices 
     338      Nbb = 1; Nnn = 2; Naa = 3; Nrhs = Naa 
     339 
     340      ! Initialisation of temporary pointers (to be deleted after development finished) 
     341      CALL update_pointers( Nbb, Nnn, Naa ) 
    337342      !                             !-------------------------------! 
    338343      !                             !  NEMO general initialization  ! 
     
    354359 
    355360      !                                      ! external forcing  
    356                            CALL sbc_init        ! Forcings : surface module  
     361                           CALL sbc_init( Nbb, Nnn )  ! Forcings : surface module  
    357362 
    358363      ! ==> clem: open boundaries init. is mandatory for sea-ice because ice BDY is not decoupled from   
  • NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/src/SAS/sbcssm.F90

    r10068 r10922  
    6262CONTAINS 
    6363 
    64    SUBROUTINE sbc_ssm( kt ) 
     64   SUBROUTINE sbc_ssm( kt, Kbb, Kmm ) 
    6565      !!---------------------------------------------------------------------- 
    6666      !!                  ***  ROUTINE sbc_ssm  *** 
     
    7373      !!---------------------------------------------------------------------- 
    7474      INTEGER, INTENT(in) ::   kt   ! ocean time-step index 
     75      INTEGER, INTENT(in) ::   Kbb, Kmm   ! ocean time level indices 
     76                          ! (not needed for SAS but needed to keep a consistent interface in sbcmod.F90) 
    7577      ! 
    7678      INTEGER  ::   ji, jj     ! dummy loop indices 
     
    156158 
    157159 
    158    SUBROUTINE sbc_ssm_init 
     160   SUBROUTINE sbc_ssm_init( Kbb, Kmm ) 
    159161      !!---------------------------------------------------------------------- 
    160162      !!                  ***  ROUTINE sbc_ssm_init  *** 
     
    162164      !! ** Purpose :   Initialisation of sea surface mean data      
    163165      !!---------------------------------------------------------------------- 
     166      INTEGER, INTENT(in) ::   Kbb, Kmm   ! ocean time level indices  
     167                          ! (not needed for SAS but needed to keep a consistent interface in sbcmod.F90) 
    164168      INTEGER  :: ierr, ierr0, ierr1, ierr2, ierr3   ! return error code 
    165169      INTEGER  :: ifpr                               ! dummy loop indice 
     
    311315      ENDIF 
    312316      ! 
    313       CALL sbc_ssm( nit000 )   ! need to define ss?_m arrays used in iceistate 
     317      CALL sbc_ssm( nit000, Kbb, Kmm )   ! need to define ss?_m arrays used in iceistate 
    314318      l_initdone = .TRUE. 
    315319      ! 
  • NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/src/SAS/step.F90

    r10874 r10922  
    4747 
    4848   PUBLIC   stp   ! called by nemogcm.F90 
     49   PUBLIC   update_pointers ! called by nemo_init 
    4950 
     51   !!---------------------------------------------------------------------- 
     52   !! time level indices 
     53   !!---------------------------------------------------------------------- 
     54   INTEGER, PUBLIC :: Nbb, Nnn, Naa, Nrhs          !! used by nemo_init 
    5055   !!---------------------------------------------------------------------- 
    5156   !! NEMO/SAS 4.0 , NEMO Consortium (2018) 
     
    98103      IF( ln_bdy     )       CALL bdy_dta ( kstp, time_offset=+1 )   ! update dynamic & tracer data at open boundaries 
    99104      ! ==> 
    100                              CALL sbc    ( kstp )         ! Sea Boundary Condition (including sea-ice) 
     105                             CALL sbc    ( kstp, Nbb, Nnn )         ! Sea Boundary Condition (including sea-ice) 
    101106 
    102107                             CALL dia_wri( kstp )         ! ocean model: outputs 
     
    128133      ! Coupled mode 
    129134      !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 
    130       IF( lk_oasis    )  CALL sbc_cpl_snd( kstp )     ! coupled mode : field exchanges if OASIS-coupled ice 
     135      IF( lk_oasis    )  CALL sbc_cpl_snd( kstp, Nnn )     ! coupled mode : field exchanges if OASIS-coupled ice 
    131136 
    132137#if defined key_iomput 
     
    148153   END SUBROUTINE stp 
    149154 
     155   SUBROUTINE update_pointers( Kbb, Kmm, Kaa ) 
     156      !!---------------------------------------------------------------------- 
     157      !!                     ***  ROUTINE update_pointers  *** 
     158      !! 
     159      !! ** Purpose :   Associate temporary pointer arrays. 
     160      !!                For IMMERSE development phase only - to be deleted 
     161      !! 
     162      !! ** Method  : 
     163      !!---------------------------------------------------------------------- 
     164      INTEGER, INTENT( in ) :: Kbb, Kmm, Kaa ! time level indices 
     165 
     166      ub => uu(:,:,:,Kbb); un => uu(:,:,:,Kmm); ua => uu(:,:,:,Kaa) 
     167      vb => vv(:,:,:,Kbb); vn => vv(:,:,:,Kmm); va => vv(:,:,:,Kaa) 
     168      wn => ww(:,:,:) 
     169      hdivn => hdiv(:,:,:) 
     170 
     171      sshb =>  ssh(:,:,Kbb); sshn =>  ssh(:,:,Kmm); ssha =>  ssh(:,:,Kaa) 
     172      ub_b => uu_b(:,:,Kbb); un_b => uu_b(:,:,Kmm); ua_b => uu_b(:,:,Kaa) 
     173      vb_b => vv_b(:,:,Kbb); vn_b => vv_b(:,:,Kmm); va_b => vv_b(:,:,Kaa) 
     174 
     175      tsb => ts(:,:,:,:,Kbb); tsn => ts(:,:,:,:,Kmm); tsa => ts(:,:,:,:,Kaa) 
     176 
     177      e3t_b => e3t(:,:,:,Kbb); e3t_n => e3t(:,:,:,Kmm); e3t_a => e3t(:,:,:,Kaa) 
     178      e3u_b => e3u(:,:,:,Kbb); e3u_n => e3u(:,:,:,Kmm); e3u_a => e3u(:,:,:,Kaa) 
     179      e3v_b => e3v(:,:,:,Kbb); e3v_n => e3v(:,:,:,Kmm); e3v_a => e3v(:,:,:,Kaa) 
     180 
     181      e3f_n => e3f(:,:,:) 
     182 
     183      e3w_b  => e3w (:,:,:,Kbb); e3w_n  => e3w (:,:,:,Kmm) 
     184      e3uw_b => e3uw(:,:,:,Kbb); e3uw_n => e3uw(:,:,:,Kmm) 
     185      e3vw_b => e3vw(:,:,:,Kbb); e3vw_n => e3vw(:,:,:,Kmm) 
     186 
     187      gdept_b => gdept(:,:,:,Kbb); gdept_n => gdept(:,:,:,Kmm)  
     188      gdepw_b => gdepw(:,:,:,Kbb); gdepw_n => gdepw(:,:,:,Kmm)  
     189      gde3w_n => gde3w(:,:,:) 
     190 
     191   END SUBROUTINE update_pointers 
     192 
    150193   !!====================================================================== 
    151194END MODULE step 
Note: See TracChangeset for help on using the changeset viewer.