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 11987 for NEMO/branches/2019/ENHANCE-02_ISF_nemo/tests/ISOMIP+ – NEMO

Ignore:
Timestamp:
2019-11-27T15:50:29+01:00 (4 years ago)
Author:
mathiot
Message:

ENHANCE-02_ISF_nemo: changes needed after Dave's review

Location:
NEMO/branches/2019/ENHANCE-02_ISF_nemo/tests/ISOMIP+/MY_SRC
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2019/ENHANCE-02_ISF_nemo/tests/ISOMIP+/MY_SRC/isfcavgam.F90

    r11889 r11987  
    1010   !!   isfcav_gammats       : compute exchange coeficient gamma  
    1111   !!---------------------------------------------------------------------- 
    12    USE isf 
     12   USE isf_oce 
    1313   USE isfutils, ONLY: debug 
    1414   USE isftbl  , ONLY: isf_tbl 
     
    5757      !!--------------------------------------------------------------------- 
    5858      ! 
    59       ! compute velocity in the tbl if needed 
     59      !========================================== 
     60      ! 1.: compute velocity in the tbl if needed 
     61      !========================================== 
     62      ! 
    6063      SELECT CASE ( cn_gammablk ) 
    6164      CASE ( 'spe'  )  
     
    7881      END SELECT 
    7982      !  
    80       ! compute gamma 
     83      !========================================== 
     84      ! 2.: compute gamma 
     85      !========================================== 
     86      ! 
    8187      SELECT CASE ( cn_gammablk ) 
    8288      CASE ( 'spe'  ) ! gamma is constant (specified in namelist) 
     
    8692         CALL gammats_AD15 (              zutbl, zvtbl, rCd0_top, rn_vtide**2,               pgt, pgs ) 
    8793      CASE ( 'hj99' ) ! gamma depends of stability of boundary layer and u* 
    88          CALL gammats_HJ99 (pttbl, pstbl, zutbl, zvtbl, rCd0_top, r_ke0_top  , pqoce, pqfwf, pgt, pgs ) 
     94         CALL gammats_HJ99 (pttbl, pstbl, zutbl, zvtbl, rCd0_top, r_ke0_top, pqoce, pqfwf, pgt, pgs ) 
    8995      CASE DEFAULT 
    9096         CALL ctl_stop('STOP','method to compute gamma (cn_gammablk) is unknown (should not see this)') 
    9197      END SELECT 
    9298      ! 
    93       ! ouput exchange coeficient and tbl velocity 
     99      !========================================== 
     100      ! 3.: output and debug 
     101      !========================================== 
     102      ! 
    94103      CALL iom_put('isfgammat', pgt(:,:)) 
    95104      CALL iom_put('isfgammas', pgs(:,:)) 
  • NEMO/branches/2019/ENHANCE-02_ISF_nemo/tests/ISOMIP+/MY_SRC/isfstp.F90

    r11931 r11987  
    1414   !!---------------------------------------------------------------------- 
    1515   ! 
    16    USE isf            ! isf variables 
     16   USE isf_oce                                      ! isf variables 
    1717   USE isfload, ONLY: isf_load                      ! ice shelf load 
    1818   USE isftbl , ONLY: isf_tbl_lvl                   ! ice shelf boundary layer 
     
    2626   ! 
    2727   USE lib_mpp, ONLY: ctl_stop, ctl_nam 
     28   USE fldread, ONLY: FLD, FLD_N 
    2829   USE in_out_manager ! I/O manager 
    2930   USE timing 
     
    6263      IF( ln_timing )   CALL timing_start('isf') 
    6364      ! 
     65      !======================================================================= 
     66      ! 1.: compute melt and associated heat fluxes in the ice shelf cavities 
     67      !======================================================================= 
     68      ! 
    6469      IF ( ln_isfcav_mlt ) THEN 
    6570         ! 
    66          ! before time step  
     71         ! 1.1: before time step  
    6772         IF ( kt /= nit000 ) THEN  
    6873            risf_cav_tsc_b (:,:,:) = risf_cav_tsc (:,:,:) 
     
    7075         END IF 
    7176         ! 
    72          ! compute misfkb, rhisf_tbl, rfrac (deepest level, thickness, fraction of deepest cell affected by tbl) 
     77         ! 1.2: compute misfkb, rhisf_tbl, rfrac (deepest level, thickness, fraction of deepest cell affected by tbl) 
    7378         rhisf_tbl_cav(:,:) = rn_htbl * mskisf_cav(:,:) 
    7479         CALL isf_tbl_lvl(ht_n, e3t_n, misfkt_cav, misfkb_cav, rhisf_tbl_cav, rfrac_tbl_cav) 
    7580         ! 
    76          ! compute ice shelf melt 
     81         ! 1.3: compute ice shelf melt 
    7782         CALL isf_cav( kt, risf_cav_tsc, fwfisf_cav) 
    7883         ! 
    7984      END IF 
    8085      !  
     86      !================================================================================= 
     87      ! 2.: compute melt and associated heat fluxes for not resolved ice shelf cavities 
     88      !================================================================================= 
     89      ! 
    8190      IF ( ln_isfpar_mlt ) THEN 
    8291         ! 
    83          ! before time step  
     92         ! 2.1: before time step  
    8493         IF ( kt /= nit000 ) THEN  
    8594            risf_par_tsc_b(:,:,:) = risf_par_tsc(:,:,:) 
     
    8796         END IF 
    8897         ! 
    89          ! compute misfkb, rhisf_tbl, rfrac (deepest level, thickness, fraction of deepest cell affected by tbl) 
    90          ! by simplicity, we assume the top level where param applied do not change with time 
     98         ! 2.2: compute misfkb, rhisf_tbl, rfrac (deepest level, thickness, fraction of deepest cell affected by tbl) 
     99         ! by simplicity, we assume the top level where param applied do not change with time (done in init part) 
    91100         rhisf_tbl_par(:,:) = rhisf0_tbl_par(:,:) 
    92101         CALL isf_tbl_lvl(ht_n, e3t_n, misfkt_par, misfkb_par, rhisf_tbl_par, rfrac_tbl_par) 
    93102         ! 
    94          ! compute ice shelf melt 
     103         ! 2.3: compute ice shelf melt 
    95104         CALL isf_par( kt, risf_par_tsc, fwfisf_par) 
    96105         ! 
    97106      END IF 
    98107      ! 
    99       IF ( ln_isfcpl ) THEN 
    100          ! after step nit000 + 2 we do not need anymore the risfcpl_ arrays 
    101          IF ( kt == nit000 + 2 ) CALL isf_dealloc_cpl() 
    102  
    103          IF ( lrst_oce ) CALL isfcpl_rst_write(kt) 
    104       END IF 
     108      !================================================================================== 
     109      ! 3.: output specific restart variable in case of coupling with an ice sheet model 
     110      !================================================================================== 
     111      ! 
     112      IF ( ln_isfcpl .AND. lrst_oce ) CALL isfcpl_rst_write(kt) 
    105113      ! 
    106114      IF( ln_timing )   CALL timing_stop('isf') 
     
    177185            WRITE(numout,*) '      melt inside the cavity                  ln_isfcav_mlt   = ', ln_isfcav_mlt 
    178186            IF ( ln_isfcav_mlt) THEN 
    179                WRITE(numout,*) '         melt formulation                        cn_isfcav_mlt   = ', TRIM(cn_isfcav_mlt) 
    180                WRITE(numout,*) '         thickness of the top boundary layer     rn_htbl     = ', rn_htbl 
    181                WRITE(numout,*) '         gamma formulation                       cn_gammablk = ', TRIM(cn_gammablk)  
     187               WRITE(numout,*) '         melt formulation                         cn_isfcav_mlt= ', TRIM(cn_isfcav_mlt) 
     188               WRITE(numout,*) '         thickness of the top boundary layer      rn_htbl      = ', rn_htbl 
     189               WRITE(numout,*) '         gamma formulation                        cn_gammablk = ', TRIM(cn_gammablk)  
    182190               IF ( TRIM(cn_gammablk) .NE. 'spe' ) THEN  
    183                   WRITE(numout,*) '         gammat coefficient                       rn_gammat0  = ', rn_gammat0   
    184                   WRITE(numout,*) '         gammas coefficient                       rn_gammas0  = ', rn_gammas0   
    185                   WRITE(numout,*) '         top background ke used (from namdrg_top) rn_vtide**2 = ', rn_vtide**2 
    186                   WRITE(numout,*) '         top drag coef.    used (from namdrg_top) rn_Cd0      = ', r_Cdmin_top 
     191                  WRITE(numout,*) '         gammat coefficient                       rn_gammat0   = ', rn_gammat0   
     192                  WRITE(numout,*) '         gammas coefficient                       rn_gammas0   = ', rn_gammas0   
     193                  WRITE(numout,*) '         top background ke used (from namdrg_top) rn_vtide**2  = ', rn_vtide**2 
     194                  WRITE(numout,*) '         top drag coef.    used (from namdrg_top) rn_Cd0       = ', r_Cdmin_top 
    187195               END IF 
    188196            END IF 
     
    214222         IF (ln_isfcav) WRITE(numout,*) '      Ice shelf load method                   cn_isfload        = ', TRIM(cn_isfload) 
    215223         WRITE(numout,*) '' 
     224         FLUSH(numout) 
    216225 
    217226      END IF 
  • NEMO/branches/2019/ENHANCE-02_ISF_nemo/tests/ISOMIP+/MY_SRC/sbcfwb.F90

    r11931 r11987  
    1717   USE dom_oce        ! ocean space and time domain 
    1818   USE sbc_oce        ! surface ocean boundary condition 
     19   USE isf_oce        ! ice shelf melting contribution 
    1920   USE sbc_ice , ONLY : snwice_mass, snwice_mass_b, snwice_fmass 
    2021   USE phycst         ! physical constants 
    2122   USE sbcrnf         ! ocean runoffs 
    22    USE isf            ! ice shelf melting contribution 
    2323   USE sbcssr         ! Sea-Surface damping terms 
    24    USE tradmp         ! 
    2524   ! 
    2625   USE in_out_manager ! I/O manager 
Note: See TracChangeset for help on using the changeset viewer.