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 11970 for NEMO/branches/2019/ENHANCE-02_ISF_nemo_TEST_MERGE/tests/VORTEX/MY_SRC/domvvl.F90 – NEMO

Ignore:
Timestamp:
2019-11-26T16:06:55+01:00 (4 years ago)
Author:
davestorkey
Message:

2019/ENHANCE-02_ISF_nemo_TEST_MERGE : copy changes from Pierre's branch.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2019/ENHANCE-02_ISF_nemo_TEST_MERGE/tests/VORTEX/MY_SRC/domvvl.F90

    r11536 r11970  
    3636 
    3737   PUBLIC  dom_vvl_init       ! called by domain.F90 
     38   PUBLIC  dom_vvl_zgr        ! called by isfcpl.F90 
    3839   PUBLIC  dom_vvl_sf_nxt     ! called by step.F90 
    3940   PUBLIC  dom_vvl_sf_swp     ! called by step.F90 
     
    115116      !! Reference  : Leclair, M., and G. Madec, 2011, Ocean Modelling. 
    116117      !!---------------------------------------------------------------------- 
     118      ! 
     119      IF(lwp) WRITE(numout,*) 
     120      IF(lwp) WRITE(numout,*) 'dom_vvl_init : Variable volume activated' 
     121      IF(lwp) WRITE(numout,*) '~~~~~~~~~~~~' 
     122      ! 
     123      CALL dom_vvl_ctl     ! choose vertical coordinate (z_star, z_tilde or layer) 
     124      ! 
     125      !                    ! Allocate module arrays 
     126      IF( dom_vvl_alloc() /= 0 )   CALL ctl_stop( 'STOP', 'dom_vvl_init : unable to allocate arrays' ) 
     127      ! 
     128      !                    ! Read or initialize e3t_(b/n), tilde_e3t_(b/n) and hdiv_lf 
     129      CALL dom_vvl_rst( nit000, 'READ' ) 
     130      e3t_a(:,:,jpk) = e3t_0(:,:,jpk)  ! last level always inside the sea floor set one for all 
     131      ! 
     132      CALL dom_vvl_zgr() ! interpolation scale factor, depth and water column 
     133      ! 
     134   END SUBROUTINE dom_vvl_init 
     135   ! 
     136   SUBROUTINE dom_vvl_zgr() 
     137      !!---------------------------------------------------------------------- 
     138      !!                ***  ROUTINE dom_vvl_init  *** 
     139      !!                    
     140      !! ** Purpose :  Interpolation of all scale factors,  
     141      !!               depths and water column heights 
     142      !! 
     143      !! ** Method  :  - interpolate scale factors 
     144      !! 
     145      !! ** Action  : - e3t_(n/b) and tilde_e3t_(n/b) 
     146      !!              - Regrid: e3(u/v)_n 
     147      !!                        e3(u/v)_b        
     148      !!                        e3w_n            
     149      !!                        e3(u/v)w_b       
     150      !!                        e3(u/v)w_n       
     151      !!                        gdept_n, gdepw_n and gde3w_n 
     152      !!              - h(t/u/v)_0 
     153      !!              - frq_rst_e3t and frq_rst_hdv 
     154      !! 
     155      !! Reference  : Leclair, M., and G. Madec, 2011, Ocean Modelling. 
     156      !!---------------------------------------------------------------------- 
    117157      INTEGER ::   ji, jj, jk 
    118158      INTEGER ::   ii0, ii1, ij0, ij1 
    119159      REAL(wp)::   zcoef 
    120160      !!---------------------------------------------------------------------- 
    121       ! 
    122       IF(lwp) WRITE(numout,*) 
    123       IF(lwp) WRITE(numout,*) 'dom_vvl_init : Variable volume activated' 
    124       IF(lwp) WRITE(numout,*) '~~~~~~~~~~~~' 
    125       ! 
    126       CALL dom_vvl_ctl     ! choose vertical coordinate (z_star, z_tilde or layer) 
    127       ! 
    128       !                    ! Allocate module arrays 
    129       IF( dom_vvl_alloc() /= 0 )   CALL ctl_stop( 'STOP', 'dom_vvl_init : unable to allocate arrays' ) 
    130       ! 
    131       !                    ! Read or initialize e3t_(b/n), tilde_e3t_(b/n) and hdiv_lf 
    132       CALL dom_vvl_rst( nit000, 'READ' ) 
    133       e3t_a(:,:,jpk) = e3t_0(:,:,jpk)  ! last level always inside the sea floor set one for all 
    134161      ! 
    135162      !                    !== Set of all other vertical scale factors  ==!  (now and before) 
     
    263290      ENDIF 
    264291      ! 
    265    END SUBROUTINE dom_vvl_init 
    266  
     292   END SUBROUTINE dom_vvl_zgr 
    267293 
    268294   SUBROUTINE dom_vvl_sf_nxt( kt, kcall )  
     
    10341060      ! 
    10351061      IF( ioptio /= 1 )   CALL ctl_stop( 'Choose ONE vertical coordinate in namelist nam_vvl' ) 
    1036       IF( .NOT. ln_vvl_zstar .AND. ln_isf ) CALL ctl_stop( 'Only vvl_zstar has been tested with ice shelf cavity' ) 
    10371062      ! 
    10381063      IF(lwp) THEN                   ! Print the choice 
Note: See TracChangeset for help on using the changeset viewer.