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

Ignore:
Timestamp:
2016-10-21T19:24:28+02:00 (8 years ago)
Author:
clem
Message:

agrif+lim3 update + trunk update

File:
1 edited

Legend:

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

    r6861 r7069  
    8282      ! 
    8383      IF( nn_timing == 1 )  CALL timing_start( 'sbc_ssm') 
    84  
    85   IF ( l_sasread ) THEN 
    86       IF( nfld_3d > 0 ) CALL fld_read( kt, 1, sf_ssm_3d )      !==   read data at kt time step   ==! 
    87       IF( nfld_2d > 0 ) CALL fld_read( kt, 1, sf_ssm_2d )      !==   read data at kt time step   ==! 
    88       !  
    89       IF( ln_3d_uve ) THEN 
    90          ssu_m(:,:) = sf_ssm_3d(jf_usp)%fnow(:,:,1) * umask(:,:,1)    ! u-velocity 
    91          ssv_m(:,:) = sf_ssm_3d(jf_vsp)%fnow(:,:,1) * vmask(:,:,1)    ! v-velocity  
    92          IF( lk_vvl )   e3t_m(:,:) = sf_ssm_3d(jf_e3t)%fnow(:,:,1) * tmask(:,:,1)    ! v-velocity  
     84      
     85      IF ( l_sasread ) THEN 
     86         IF( nfld_3d > 0 ) CALL fld_read( kt, 1, sf_ssm_3d )      !==   read data at kt time step   ==! 
     87         IF( nfld_2d > 0 ) CALL fld_read( kt, 1, sf_ssm_2d )      !==   read data at kt time step   ==! 
     88         !  
     89         IF( ln_3d_uve ) THEN 
     90            IF( lk_vvl )   e3t_m(:,:) = sf_ssm_3d(jf_e3t)%fnow(:,:,1) * tmask(:,:,1)    ! v-velocity  
     91                           ssu_m(:,:) = sf_ssm_3d(jf_usp)%fnow(:,:,1) * umask(:,:,1)    ! u-velocity 
     92                           ssv_m(:,:) = sf_ssm_3d(jf_vsp)%fnow(:,:,1) * vmask(:,:,1)    ! v-velocity  
     93         ELSE 
     94            IF( lk_vvl )   e3t_m(:,:) = sf_ssm_2d(jf_e3t)%fnow(:,:,1) * tmask(:,:,1)    ! v-velocity  
     95                           ssu_m(:,:) = sf_ssm_2d(jf_usp)%fnow(:,:,1) * umask(:,:,1)    ! u-velocity 
     96                           ssv_m(:,:) = sf_ssm_2d(jf_vsp)%fnow(:,:,1) * vmask(:,:,1)    ! v-velocity  
     97         ENDIF 
     98         ! 
     99         sst_m(:,:) = sf_ssm_2d(jf_tem)%fnow(:,:,1) * tmask(:,:,1)    ! temperature 
     100         sss_m(:,:) = sf_ssm_2d(jf_sal)%fnow(:,:,1) * tmask(:,:,1)    ! salinity 
     101         ssh_m(:,:) = sf_ssm_2d(jf_ssh)%fnow(:,:,1) * tmask(:,:,1)    ! sea surface height 
     102         IF( ln_read_frq ) THEN 
     103            frq_m(:,:) = sf_ssm_2d(jf_frq)%fnow(:,:,1) * tmask(:,:,1) ! solar penetration 
     104         ELSE 
     105            frq_m(:,:) = 1._wp 
     106         ENDIF 
    93107      ELSE 
    94          ssu_m(:,:) = sf_ssm_2d(jf_usp)%fnow(:,:,1) * umask(:,:,1)    ! u-velocity 
    95          ssv_m(:,:) = sf_ssm_2d(jf_vsp)%fnow(:,:,1) * vmask(:,:,1)    ! v-velocity  
    96          IF( lk_vvl )   e3t_m(:,:) = sf_ssm_2d(jf_e3t)%fnow(:,:,1) * tmask(:,:,1)    ! v-velocity  
    97       ENDIF 
    98       ! 
    99       sst_m(:,:) = sf_ssm_2d(jf_tem)%fnow(:,:,1) * tmask(:,:,1)    ! temperature 
    100       sss_m(:,:) = sf_ssm_2d(jf_sal)%fnow(:,:,1) * tmask(:,:,1)    ! salinity 
    101       ssh_m(:,:) = sf_ssm_2d(jf_ssh)%fnow(:,:,1) * tmask(:,:,1)    ! sea surface height 
    102       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 
    111       ! 
     108         sst_m(:,:) = 0._wp 
     109         sss_m(:,:) = 0._wp 
     110         ssu_m(:,:) = 0._wp 
     111         ssv_m(:,:) = 0._wp 
     112         ssh_m(:,:) = 0._wp 
     113         e3t_m(:,:) = e3t_0(:,:,1) !clem: necessary at least for sas2D 
     114         frq_m(:,:) = 1._wp        !              - - 
     115         sshn (:,:) = 0._wp        !              - - 
     116      ENDIF 
     117       
    112118      IF ( nn_ice == 1 ) THEN 
    113119         tsn(:,:,1,jp_tem) = sst_m(:,:) 
     
    118124      ub (:,:,1) = ssu_m(:,:) 
    119125      vb (:,:,1) = ssv_m(:,:) 
    120  
     126  
    121127      IF(ln_ctl) THEN                  ! print control 
    122128         CALL prt_ctl(tab2d_1=sst_m, clinfo1=' sst_m   - : ', mask1=tmask, ovlap=1   ) 
     
    300306  
    301307      CALL sbc_ssm( nit000 )   ! need to define ss?_m arrays used in limistate 
    302       IF( .NOT. ln_read_frq )   frq_m(:,:) = 1. 
    303308      l_initdone = .TRUE.     
    304309      ! 
Note: See TracChangeset for help on using the changeset viewer.