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 3970 for branches/2013/dev_r3867_MERCATOR1_DYN/NEMOGCM/NEMO/OPA_SRC/DYN/dynspg.F90 – NEMO

Ignore:
Timestamp:
2013-07-11T15:59:14+02:00 (11 years ago)
Author:
cbricaud
Message:

Time splitting update, see ticket #1079

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2013/dev_r3867_MERCATOR1_DYN/NEMOGCM/NEMO/OPA_SRC/DYN/dynspg.F90

    r3625 r3970  
    2727   USE in_out_manager ! I/O manager 
    2828   USE lib_mpp        ! MPP library 
    29    USE solver          ! solver initialization 
    30    USE wrk_nemo        ! Memory Allocation 
    31    USE timing          ! Timing 
    32  
     29   USE solver         ! solver initialization 
     30   USE wrk_nemo       ! Memory Allocation 
     31   USE timing         ! Timing 
     32   USE dynhpg, ONLY: ln_dynhpg_imp ! semi-implicit hpg flag 
    3333 
    3434   IMPLICIT NONE 
     
    9999         ztrdv(:,:,:) = va(:,:,:) 
    100100      ENDIF 
    101  
    102       IF( ln_apr_dyn ) THEN                   !==  Atmospheric pressure gradient  ==! 
     101      ! bg jchanut tschanges 
     102      IF( ( ln_apr_dyn ).AND.(.NOT.lk_dynspg_ts) ) THEN  !==  Atmospheric pressure gradient 
     103      ! (According to time splitting option, lines below are done latter) 
     104      ! end jchanut tschanges 
    103105         zg_2 = grav * 0.5 
    104106         DO jj = 2, jpjm1                          ! gradient of Patm using inverse barometer ssh 
     
    207209         WRITE(numout,*) '     Filtered free surface cst volume       lk_dynspg_flt = ', lk_dynspg_flt 
    208210      ENDIF 
    209  
     211      ! 
     212      ! bg jchanut tschanges 
     213      IF( lk_dynspg_ts ) CALL dyn_spg_ts_init( nit000 ) 
     214      ! (do it now, to set nn_baro, used to allocate some arrays later on) 
     215      ! end jchanut tschanges 
     216      !  
    210217      !                        ! allocate dyn_spg arrays 
    211218      IF( lk_dynspg_ts ) THEN 
     
    247254      ENDIF 
    248255 
    249       !                        ! Control of momentum formulation 
    250       IF( lk_dynspg_ts .AND. lk_vvl ) THEN 
    251          IF( .NOT.ln_dynadv_vec )   CALL ctl_stop( 'Flux form not implemented for this free surface formulation' ) 
    252       ENDIF 
     256      ! bg jchanut tschanges 
     257      !               ! Control of hydrostatic pressure choice 
     258      IF( lk_dynspg_ts .AND. ln_dynhpg_imp ) THEN 
     259         CALL ctl_stop( 'Semi-implicit hpg not compatible with time splitting' ) 
     260      ENDIF 
     261!      !                        ! Control of momentum formulation 
     262!      IF( lk_dynspg_ts .AND. lk_vvl ) THEN 
     263!         IF( .NOT.ln_dynadv_vec )   CALL ctl_stop( 'Flux form not implemented for this free surface formulation' ) 
     264!      ENDIF 
     265      ! end jchanut tschanges 
    253266      ! 
    254267      IF( nn_timing == 1 )  CALL timing_stop('dyn_spg_init') 
Note: See TracChangeset for help on using the changeset viewer.