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 11876 for NEMO/branches/2019/ENHANCE-02_ISF_nemo/src/OCE/ISF/isfstp.F90 – NEMO

Ignore:
Timestamp:
2019-11-08T12:26:42+01:00 (4 years ago)
Author:
mathiot
Message:

ENHANCE-02_ISF_nemo: add timing in the main isf routine + various bug fixes + cosmetic changes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2019/ENHANCE-02_ISF_nemo/src/OCE/ISF/isfstp.F90

    r11852 r11876  
    2727   USE lib_mpp, ONLY: ctl_stop, ctl_nam 
    2828   USE in_out_manager ! I/O manager 
     29   USE timing 
    2930 
    3031   IMPLICIT NONE 
     
    5960      !!--------------------------------------------------------------------- 
    6061      ! 
     62      IF( ln_timing )   CALL timing_start('isf') 
     63      ! 
    6164      IF ( ln_isfcav_mlt ) THEN 
    6265         ! 
     
    6770         END IF 
    6871         ! 
    69          ! compute tbl lvl/h 
     72         ! compute misfkb, rhisf_tbl, rfrac (deepest level, thickness, fraction of deepest cell affected by tbl) 
    7073         rhisf_tbl_cav(:,:) = rn_htbl * mskisf_cav(:,:) 
    7174         CALL isf_tbl_lvl(ht_n, e3t_n, misfkt_cav, misfkb_cav, rhisf_tbl_cav, rfrac_tbl_cav) 
     
    8588         ! 
    8689         ! 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 
    8791         rhisf_tbl_par(:,:) = rhisf0_tbl_par(:,:) 
    8892         CALL isf_tbl_lvl(ht_n, e3t_n, misfkt_par, misfkb_par, rhisf_tbl_par, rfrac_tbl_par) 
     
    9498      ! 
    9599      IF ( ln_isfcpl .AND. lrst_oce ) CALL isfcpl_rst_write(kt) 
     100      ! 
     101      IF( ln_timing )   CALL timing_stop('isf') 
    96102      ! 
    97103   END SUBROUTINE isf_stp 
     
    162168         ! 
    163169         IF ( ln_isf ) THEN 
     170            WRITE(numout,*) '      Add debug print in isf module           ln_isfdebug     = ', ln_isfdebug 
     171            WRITE(numout,*) 
    164172            WRITE(numout,*) '      melt inside the cavity                  ln_isfcav_mlt   = ', ln_isfcav_mlt 
    165173            IF ( ln_isfcav_mlt) THEN 
     
    168176               WRITE(numout,*) '         gamma formulation                       cn_gammablk = ', TRIM(cn_gammablk)  
    169177               IF ( TRIM(cn_gammablk) .NE. 'spe' ) THEN  
    170                   WRITE(numout,*) '            gammat coefficient                       rn_gammat0  = ', rn_gammat0   
    171                   WRITE(numout,*) '            gammas coefficient                       rn_gammas0  = ', rn_gammas0   
    172                   WRITE(numout,*) '            top drag coef.    used (from namdrg_top) rn_Cd0      = ', r_Cdmin_top 
    173                   WRITE(numout,*) '            top background ke used (from namdrg_top) rn_ke0      = ', r_ke0_top 
     178                  WRITE(numout,*) '         gammat coefficient                       rn_gammat0  = ', rn_gammat0   
     179                  WRITE(numout,*) '         gammas coefficient                       rn_gammas0  = ', rn_gammas0   
     180                  WRITE(numout,*) '         top drag coef.    used (from namdrg_top) rn_Cd0      = ', r_Cdmin_top 
     181                  WRITE(numout,*) '         top background ke used (from namdrg_top) rn_ke0      = ', r_ke0_top 
    174182               END IF 
    175183            END IF 
     
    190198            ! 
    191199         ELSE 
    192  
     200            ! 
    193201            IF ( ln_isfcav ) THEN 
    194202               WRITE(numout,*) '' 
     
    196204               WRITE(numout,*) '' 
    197205            END IF 
     206            ! 
    198207         END IF 
    199208 
     
    207216      ! sanity check  ! issue ln_isfcav not yet known as well as l_isfoasis  => move this call in isf_stp ? 
    208217      ! melt in the cavity without cavity 
    209        IF ( ln_isfcav_mlt .AND. (.NOT. ln_isfcav) ) & 
     218      IF ( ln_isfcav_mlt .AND. (.NOT. ln_isfcav) ) & 
    210219          &   CALL ctl_stop('ice shelf melt in the cavity activated (ln_isfcav_mlt) but no cavity detected in domcfg (ln_isfcav), STOP' ) 
    211220      ! 
     
    256265         &             ln_isfcav_mlt, cn_isfcav_mlt, cn_gammablk, rn_gammat0, rn_gammas0, rn_htbl, sn_isfcav_fwf,   & 
    257266         &             ln_isfpar_mlt, cn_isfpar_mlt, sn_isfpar_fwf, sn_isfpar_zmin, sn_isfpar_zmax, sn_isfpar_Leff, & 
    258          &             ln_isfcpl    , nn_drown, ln_isfcpl_cons,                                                     & 
     267         &             ln_isfcpl    , nn_drown, ln_isfcpl_cons, ln_isfdebug,                                        & 
    259268         &             cn_isfload   , cn_isfdir 
    260269      !!---------------------------------------------------------------------- 
Note: See TracChangeset for help on using the changeset viewer.