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 13299 – NEMO

Changeset 13299


Ignore:
Timestamp:
2020-07-13T14:34:12+02:00 (4 years ago)
Author:
smueller
Message:

Addition of a namelist parameter to enable the selectability of sea-level compensation for non-zero sea-ice/snow mass (see ticket #2487)

Location:
NEMO/branches/2020/ticket2487
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2020/ticket2487/cfgs/SHARED/namelist_ref

    r12288 r13299  
    213213   ln_ice_embd = .false.   !  =T embedded sea-ice (pressure + mass and salt exchanges) 
    214214      !                    !  =F levitating ice (no pressure, mass and salt exchanges) 
     215   ln_ice_sladj = .false.  !  sea-level adjustment due to initial ice and snow mass 
    215216                     ! Misc. options of sbc :  
    216217   ln_traqsr   = .false.   !  Light penetration in the ocean            (T => fill namtra_qsr) 
  • NEMO/branches/2020/ticket2487/src/ICE/iceistate.F90

    r13294 r13299  
    1818   USE oce            ! dynamics and tracers variables 
    1919   USE dom_oce        ! ocean domain 
    20    USE sbc_oce , ONLY : sst_m, sss_m, ln_ice_embd  
     20   USE sbc_oce , ONLY : sst_m, sss_m, ln_ice_embd , ln_ice_sladj 
    2121   USE sbc_ice , ONLY : tn_ice, snwice_mass, snwice_mass_b 
    2222   USE eosbn2         ! equation of state 
     
    379379      at_i(:,:) = SUM( a_i, dim=3 ) 
    380380      ! 
    381       !---------------------------------------------- 
    382       ! 3) Snow-ice mass (case ice is fully embedded) 
    383       !---------------------------------------------- 
     381      !----------------- 
     382      ! 3) Snow-ice mass 
     383      !----------------- 
    384384      snwice_mass  (:,:) = tmask(:,:,1) * SUM( rhos * v_s(:,:,:) + rhoi * v_i(:,:,:), dim=3  )   ! snow+ice mass 
    385385      snwice_mass_b(:,:) = snwice_mass(:,:) 
     
    428428            END DO 
    429429         ENDIF 
    430       ELSE 
     430      ELSEIF( ln_ice_sladj ) THEN       ! adjustment of sea level due to initial snow+ice mass 
    431431         z1_area = 1.0_wp / glob_sum( 'iceistate', e1e2t(:,:) ) 
    432432         zsshadj = glob_sum( 'iceistate', e1e2t(:,:) * snwice_mass(:,:) ) * r1_rau0 * z1_area 
     
    438438         rsshadj = zsshadj 
    439439#endif 
    440          WRITE(ctmp1,'(A34,F10.6,A32)') 'iceistate:   mean ssh adjusted by ', -1.0_wp * zsshadj, ' m to compensate for the initial' 
    441          CALL ctl_warn( ctmp1,          '             ice+snow mass' ) 
     440         IF(lwp) WRITE(numout,'(A35,F10.6,A21)') 'iceistate:   sea level adjusted by ', -1.0_wp * zsshadj, ' m to compensate for' 
     441         IF(lwp) WRITE(numout,*) '             the initial snow+ice mass' 
    442442         sshn(:,:) = sshn(:,:) - zsshadj 
    443443         sshb(:,:) = sshb(:,:) - zsshadj 
  • NEMO/branches/2020/ticket2487/src/OCE/SBC/sbc_oce.F90

    r12132 r13299  
    5050   !                                             !: =F levitating ice (no presure effect) with mass and salt exchanges 
    5151   !                                             !: =T embedded sea-ice (pressure effect + mass and salt exchanges) 
     52   LOGICAL , PUBLIC ::   ln_ice_sladj   !: flag to enable initial sea-level adjustment due to initial sea-ice and snow mass 
     53                                                 ! (this option has no effect if ln_ice_embd equals .TRUE.) 
    5254   INTEGER , PUBLIC ::   nn_components  !: flag for sbc module (including sea-ice) coupling mode (see component definition below)  
    5355   INTEGER , PUBLIC ::   nn_fwb         !: FreshWater Budget:  
  • NEMO/branches/2020/ticket2487/src/OCE/SBC/sbcice_cice.F90

    r13294 r13299  
    271271               END DO 
    272272            ENDIF 
    273          ELSE 
     273         ELSEIF( ln_ice_sladj ) THEN       ! adjustment of the sea level due to initial snow+ice mass 
    274274            z1_area = 1.0_wp / glob_sum( 'sbcice_cice', e1e2t(:,:) ) 
    275275            zsshadj = glob_sum( 'sbcice_cice', e1e2t(:,:) * snwice_mass(:,:) ) * r1_rau0 * z1_area 
     
    281281            rsshadj = zsshadj 
    282282#endif 
    283             WRITE(ctmp1,'(A36,F10.6,A24)') 'sbcice_cice:   mean ssh adjusted by ', -1.0_wp * zsshadj, ' m to compensate for the' 
    284             CALL ctl_warn( ctmp1,          '               initial ice+snow mass' ) 
     283            IF(lwp) WRITE(numout,'(A35,F10.6,A21)') 'iceistate:   sea level adjusted by ', -1.0_wp * zsshadj, ' m to compensate for' 
     284            IF(lwp) WRITE(numout,*) '             the initial snow+ice mass' 
    285285            sshn(:,:) = sshn(:,:) - zsshadj 
    286286            sshb(:,:) = sshb(:,:) - zsshadj 
  • NEMO/branches/2020/ticket2487/src/OCE/SBC/sbcmod.F90

    r12276 r13299  
    9494         &             ln_usr   , ln_flx   , ln_blk       ,                          & 
    9595         &             ln_cpl   , ln_mixcpl, nn_components,                          & 
    96          &             nn_ice   , ln_ice_embd,                                       & 
     96         &             nn_ice   , ln_ice_embd, ln_ice_sladj,                         & 
    9797         &             ln_traqsr, ln_dm2dc ,                                         & 
    9898         &             ln_rnf   , nn_fwb   , ln_ssr   , ln_isf    , ln_apr_dyn ,     & 
     
    146146         WRITE(numout,*) '         ice management in the sbc (=0/1/2/3)       nn_ice        = ', nn_ice 
    147147         WRITE(numout,*) '         ice embedded into ocean                    ln_ice_embd   = ', ln_ice_embd 
     148         WRITE(numout,*) '         sea-level adj. due to initial ice/snow     ln_ice_sladj  = ', ln_ice_sladj 
    148149         WRITE(numout,*) '      Misc. options of sbc : ' 
    149150         WRITE(numout,*) '         Light penetration in temperature Eq.       ln_traqsr     = ', ln_traqsr 
Note: See TracChangeset for help on using the changeset viewer.