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 4506 for branches/dev_r4028_CNRS_LIM3_MV2014/NEMOGCM/NEMO/LIM_SRC_3/limsbc.F90 – NEMO

Ignore:
Timestamp:
2014-02-21T15:20:39+01:00 (10 years ago)
Author:
vancop
Message:

[Heat conservation in LIM3, part HC1 (LIM_SRC_3_HC17)]

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/dev_r4028_CNRS_LIM3_MV2014/NEMOGCM/NEMO/LIM_SRC_3/limsbc.F90

    r4345 r4506  
    106106      INTEGER  ::   iflt, ial , iadv , ifral, ifrdv   !   -      - 
    107107      REAL(wp) ::   zinda, zemp, zemp_snow, zfmm      ! local scalars 
    108       REAL(wp) ::   zemp_snw                          !   -      - 
     108      REAL(wp) ::   zemp_snw, zqmass,   zcd           !   -      -   
     109      REAL(wp) ::   zswitch                           !   -      -   
    109110      REAL(wp) ::   zfcm1 , zfcm2                     !   -      - 
    110111      REAL(wp), POINTER, DIMENSION(:,:,:) ::   zalb, zalbp     ! 2D/3D workspace 
     
    113114       
    114115      IF( lk_cpl )   CALL wrk_alloc( jpi, jpj, jpl, zalb, zalbp ) 
     116 
     117      SELECT CASE( nn_ice_embd )                 ! levitating or embedded sea-ice option                               
     118        CASE( 0    )   ;   zswitch = 1           ! (0) standard levitating sea-ice : salt exchange only               
     119        CASE( 1, 2 )   ;   zswitch = 0           ! (1) levitating sea-ice: salt and volume exchange but no pressure effect 
     120                                                 ! (2) embedded sea-ice : salt and volume fluxes and pressure             
     121      END SELECT                                 !                                                                       
    115122 
    116123      !------------------------------------------! 
     
    172179               &    + ifrdv   * (       qfvbq(ji,jj) +             qdtcn(ji,jj) ) * r1_rdtice   & 
    173180               &    + fhmec(ji,jj)                                                              & ! snow melt when ridging 
    174                &    + fheat_mec(ji,jj)                                                          & ! ridge formation 
    175181               &    + fheat_res(ji,jj)                                                            ! residual heat flux 
    176182            ! qcmif   Energy needed to bring the ocean surface layer until its freezing (ok) 
     
    184190            fsbbq(ji,jj) = ( 1._wp - ( ifvt + iflt ) ) * fscmbq(ji,jj)      
    185191 
    186             ! used to compute the oceanic heat flux at the next time step 
     192            ! heat flux associated with ice-ocean mass exchange 
     193            zqmass = ( rdq_snw(ji,jj)                                         &  
     194                 & + rdq_ice(ji,jj) * ( 1.- zswitch) ) * r1_rdtice   !  heat flux due to snow & ice heat content  
    187195            qsr(ji,jj) = zfcm1                                       ! solar heat flux  
    188             qns(ji,jj) = zfcm2 - fdtcn(ji,jj)                        ! non solar heat flux 
    189             !                           ! fdtcn : turbulent oceanic heat flux 
     196            qns(ji,jj) = zfcm2 - fdtcn(ji,jj) + zqmass               ! non solar heat flux    
     197                               ! fdtcn : turbulent oceanic heat flux 
    190198         END DO 
    191199      END DO 
Note: See TracChangeset for help on using the changeset viewer.