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

Ignore:
Timestamp:
2019-09-03T12:46:35+02:00 (5 years ago)
Author:
mathiot
Message:

ENHANCE-02_ISF: switch on isf param in WED025 and fix bugs in isf param code + cosmetic changes (ticket #2142)

File:
1 edited

Legend:

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

    r11423 r11494  
    4343   SUBROUTINE isf_par( kt, ptsc, pqfwf ) 
    4444      !!--------------------------------------------------------------------- 
    45       !!                     ***  ROUTINE sbc_isf_cav  *** 
     45      !!                     ***  ROUTINE isf_par ***       
    4646      !! 
    4747      !! ** Purpose :    
     
    7979      zqh(:,:) = ( zqhc (:,:) + zqoce(:,:) ) 
    8080      ! 
    81       ! lbclnk on melt 
     81      ! lbclnk on melt and heat fluxes 
    8282      CALL lbc_lnk_multi( 'isfmlt', zqh, 'T', 1., pqfwf, 'T', 1.) 
    8383      ! 
     
    120120      ! 
    121121      ! if param used under an ice shelf overwrite ztblmax by the ice shelf draft 
    122       WHERE ( risfdep > 0._wp ) 
     122      WHERE ( risfdep > 0._wp .AND. ztblmin > 0._wp ) 
    123123         ztblmin(:,:) = risfdep(:,:) 
    124124      END WHERE 
     
    130130      rhisf0_tbl_par(:,:) = ztblmax(:,:) - ztblmin(:,:) 
    131131      ! 
    132       ! compute misfkb_par, rhisf_tbl 
    133       rhisf_tbl_par(:,:) = rhisf0_tbl_par(:,:) 
    134       CALL isf_tbl_lvl( ht_n, e3t_n, misfkt_par, misfkb_par, rhisf_tbl_par, rfrac_tbl_par ) 
    135       ! 
    136132      ! define iceshelf parametrisation mask 
    137133      mskisf_par = 0 
     
    140136      END WHERE 
    141137      ! 
     138      ! compute misfkb_par, rhisf_tbl 
     139      rhisf_tbl_par(:,:) = rhisf0_tbl_par(:,:) 
     140      CALL isf_tbl_lvl( ht_n * mskisf_par, e3t_n, misfkt_par, misfkb_par, rhisf_tbl_par, rfrac_tbl_par ) 
     141      ! 
    142142      SELECT CASE ( TRIM(cn_isfpar_mlt) ) 
    143143         ! 
    144144      CASE ( 'spe' ) 
    145  
     145         ! 
    146146         ALLOCATE( sf_isfpar_fwf(1), STAT=ierr ) 
    147147         ALLOCATE( sf_isfpar_fwf(1)%fnow(jpi,jpj,1), sf_isfpar_fwf(1)%fdta(jpi,jpj,1,2) ) 
    148148         CALL fld_fill( sf_isfpar_fwf, (/ sn_isfpar_fwf /), cn_isfdir, 'isf_par_init', 'read fresh water flux isf data', 'namisf' ) 
    149  
     149         ! 
    150150         IF(lwp) WRITE(numout,*) 
    151151         IF(lwp) WRITE(numout,*) '      ==>>>   ice melt read from forcing field (cn_isfmlt_par = spe)' 
    152  
     152         ! 
    153153      CASE ( 'bg03' ) 
    154154         ! 
     
    161161         ! 
    162162      CASE ( 'oasis' ) 
    163  
     163         ! 
    164164         IF(lwp) WRITE(numout,*) 
    165165         IF(lwp) WRITE(numout,*) '      ==>>>    isf melt provided by OASIS (cn_isfmlt_par = oasis)' 
    166  
     166         ! 
    167167      CASE DEFAULT 
    168168         CALL ctl_stop( 'sbc_isf_init: wrong value of nn_isf' ) 
     
    171171   END SUBROUTINE isf_par_init 
    172172 
    173    END MODULE isfpar 
     173END MODULE isfpar 
Note: See TracChangeset for help on using the changeset viewer.