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 6861 for branches/2016/dev_v3_6_STABLE_r6506_AGRIF_LIM3/NEMOGCM/NEMO/SAS_SRC/sbcssm.F90 – NEMO

Ignore:
Timestamp:
2016-08-09T17:55:10+02:00 (8 years ago)
Author:
clevy
Message:

Add north south cyclic boundaries option, see ticket 1761

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2016/dev_v3_6_STABLE_r6506_AGRIF_LIM3/NEMOGCM/NEMO/SAS_SRC/sbcssm.F90

    r5407 r6861  
    3939   LOGICAL              ::   ln_3d_uve     !: specify whether input velocity data is 3D 
    4040   LOGICAL              ::   ln_read_frq   !: specify whether we must read frq or not 
     41   LOGICAL              ::   l_sasread     !: Ice intilisation: read a file (.TRUE.) or anaytical initilaistion in namelist &namsbc_sas 
    4142   LOGICAL              ::   l_initdone = .false. 
    4243   INTEGER     ::   nfld_3d 
     
    8283      IF( nn_timing == 1 )  CALL timing_start( 'sbc_ssm') 
    8384 
     85  IF ( l_sasread ) THEN 
    8486      IF( nfld_3d > 0 ) CALL fld_read( kt, 1, sf_ssm_3d )      !==   read data at kt time step   ==! 
    8587      IF( nfld_2d > 0 ) CALL fld_read( kt, 1, sf_ssm_2d )      !==   read data at kt time step   ==! 
     
    99101      ssh_m(:,:) = sf_ssm_2d(jf_ssh)%fnow(:,:,1) * tmask(:,:,1)    ! sea surface height 
    100102      IF( ln_read_frq )   frq_m(:,:) = sf_ssm_2d(jf_frq)%fnow(:,:,1) * tmask(:,:,1)    ! sea surface height 
     103 
     104   ELSE 
     105      sst_m(:,:) = 0. 
     106      sss_m(:,:) = 0. 
     107      ssu_m(:,:) = 0. 
     108      ssv_m(:,:) = 0. 
     109      ssh_m(:,:) = 0. 
     110   ENDIF 
    101111      ! 
    102112      IF ( nn_ice == 1 ) THEN 
     
    155165      TYPE(FLD_N) :: sn_ssh, sn_e3t, sn_frq 
    156166      ! 
    157       NAMELIST/namsbc_sas/cn_dir, ln_3d_uve, ln_read_frq, sn_tem, sn_sal, sn_usp, sn_vsp, sn_ssh, sn_e3t, sn_frq 
    158       !!---------------------------------------------------------------------- 
    159        
     167      NAMELIST/namsbc_sas/l_sasread, cn_dir, ln_3d_uve, ln_read_frq, sn_tem, sn_sal, sn_usp, sn_vsp, sn_ssh, sn_e3t, sn_frq 
     168      !!---------------------------------------------------------------------- 
     169 
    160170      IF( ln_rstart .AND. nn_components == jp_iam_sas ) RETURN 
    161171       
     
    176186         WRITE(numout,*) '~~~~~~~~~~~ ' 
    177187         WRITE(numout,*) '   Namelist namsbc_sas' 
     188         WRITE(numout,*) '      Initialisation using an input file  = ',l_sasread  
    178189         WRITE(numout,*) '      Are we supplying a 3D u,v and e3 field                             ln_3d_uve   = ', ln_3d_uve 
    179190         WRITE(numout,*) '      Are we reading frq (fraction of qsr absorbed in the 1st T level)   ln_read_frq = ', ln_read_frq 
     
    204215         nn_closea = 0 
    205216      ENDIF 
     217      IF (l_sasread) THEN 
    206218      !  
    207219      !! following code is a bit messy, but distinguishes between when u,v are 3d arrays and 
     
    285297      IF( nfld_2d > 0 ) DEALLOCATE( slf_2d, STAT=ierr ) 
    286298 
     299   ENDIF 
     300  
    287301      CALL sbc_ssm( nit000 )   ! need to define ss?_m arrays used in limistate 
    288302      IF( .NOT. ln_read_frq )   frq_m(:,:) = 1. 
    289       l_initdone = .TRUE. 
     303      l_initdone = .TRUE.     
    290304      ! 
    291305   END SUBROUTINE sbc_ssm_init 
Note: See TracChangeset for help on using the changeset viewer.