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 3865 for branches/2013/dev_r3858_NOC_ZTC/NEMOGCM/NEMO/OPA_SRC/SBC/sbcssm.F90 – NEMO

Ignore:
Timestamp:
2013-04-09T18:34:38+02:00 (11 years ago)
Author:
acc
Message:

Branch 2013/dev_r3858_NOC_ZTC, #863. Nearly complete port of 2011/dev_r2739_LOCEAN8_ZTC development branch into v3.5aplha base. Compiles and runs but currently unstable after 8 timesteps with ORCA2_LIM reference configuration.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2013/dev_r3858_NOC_ZTC/NEMOGCM/NEMO/OPA_SRC/SBC/sbcssm.F90

    r3680 r3865  
    2424   PRIVATE 
    2525 
    26    PUBLIC   sbc_ssm         ! routine called by step.F90 
    27    PUBLIC   sbc_ssm_init    ! routine called by sbcmod.F90 
    28     
     26   PUBLIC   sbc_ssm    ! routine called by step.F90 
     27 
    2928   LOGICAL, SAVE  ::   l_ssm_mean = .FALSE.       ! keep track of whether means have been read 
    3029                                                  ! from restart file 
    31  
     30    
    3231   !! * Substitutions 
    3332#  include "domzgr_substitute.h90" 
     
    6766         ELSE                    ;   ssh_m(:,:) = sshn(:,:) 
    6867         ENDIF 
    69  
     68         ! 
     69         IF( lk_vvl )   fse3t_m(:,:) = fse3t_n(:,:,1) 
    7070         ! 
    7171      ELSE 
     
    8484            ELSE                    ;   ssh_m(:,:) = zcoef *   sshn(:,:) 
    8585            ENDIF 
     86            IF( lk_vvl )   fse3t_m(:,:) = zcoef * fse3t_n(:,:,1) 
    8687            !                                             ! ---------------------------------------- ! 
    8788         ELSEIF( MOD( kt - 2 , nn_fsbc ) == 0 ) THEN      !   Initialisation: New mean computation   ! 
     
    9293            sss_m(:,:) = 0.e0 
    9394            ssh_m(:,:) = 0.e0 
     95            IF( lk_vvl )   fse3t_m(:,:) = 0.e0 
    9496         ENDIF 
    9597         !                                                ! ---------------------------------------- ! 
     
    104106         ELSE                    ;   ssh_m(:,:) = ssh_m(:,:) + sshn(:,:) 
    105107         ENDIF 
     108         IF( lk_vvl )   fse3t_m(:,:) = fse3t_m(:,:) + fse3t_n(:,:,1) 
    106109 
    107110         !                                                ! ---------------------------------------- ! 
     
    114117            ssv_m(:,:) = ssv_m(:,:) * zcoef           ! 
    115118            ssh_m(:,:) = ssh_m(:,:) * zcoef           ! mean SSH             [m] 
     119            IF( lk_vvl )   fse3t_m(:,:) = fse3t_m(:,:) * zcoef   ! mean vertical scale factor [m] 
    116120            ! 
    117121         ENDIF 
     
    130134            CALL iom_rstput( kt, nitrst, numrow, 'sss_m'  , sss_m  ) 
    131135            CALL iom_rstput( kt, nitrst, numrow, 'ssh_m'  , ssh_m  ) 
     136            IF( lk_vvl ) THEN 
     137               CALL iom_rstput( kt, nitrst, numrow, 'fse3t_m'  , fse3t_m(:,:)  ) 
     138            END IF 
    132139            ! 
    133140         ENDIF 
     
    168175            CALL iom_get( numror, jpdom_autoglo, 'sss_m'  , sss_m  )   !   "         "    salinity    (T-point) 
    169176            CALL iom_get( numror, jpdom_autoglo, 'ssh_m'  , ssh_m  )   !   "         "    height      (T-point) 
     177            IF( lk_vvl ) CALL iom_get( numror, jpdom_autoglo, 'fse3t_m', fse3t_m(:,:) ) 
    170178            ! 
    171179            IF( zf_sbc /= REAL( nn_fsbc, wp ) ) THEN      ! nn_fsbc has changed between 2 runs 
     
    178186               sss_m(:,:) = zcoef * sss_m(:,:) 
    179187               ssh_m(:,:) = zcoef * ssh_m(:,:) 
     188               IF( lk_vvl ) fse3t_m(:,:) = zcoef * fse3t_m(:,:) 
    180189            ELSE 
    181190               IF(lwp) WRITE(numout,*) '~~~~~~~   mean fields read in the ocean restart file' 
Note: See TracChangeset for help on using the changeset viewer.