Changeset 10386


Ignore:
Timestamp:
2018-12-14T11:55:21+01:00 (20 months ago)
Author:
smasson
Message:

dev_r10164_HPC09_ESIWACE_PREP_MERGE: safer use of l_full_nf_update (2 lines north fold exchange), see #2133

Location:
NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/src
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/src/ICE/icedyn_adv_umx.F90

    r10359 r10386  
    123123      !---------------! 
    124124      DO jt = 1, initad 
     125          
     126         l_full_nf_update = .FALSE.   ! false: disable full North fold update (performances) 
    125127         CALL adv_umx( k_order, kt,   1, zdt, zudy, zvdx, zcu_box, zcv_box, zpato(:,:,1) )        ! Open water area  
    126          CALL lbc_lnk( 'icedyn_adv_umx', zpato, 'T',  1. ) 
    127128         CALL adv_umx( k_order, kt, jpl, zdt, zudy, zvdx, zcu_box, zcv_box, pa_i(:,:,:) )         ! Ice area 
    128129         CALL adv_umx( k_order, kt, jpl, zdt, zudy, zvdx, zcu_box, zcv_box, pv_i(:,:,:) )         ! Ice  volume 
     
    132133            CALL adv_umx( k_order, kt, jpl, zdt, zudy, zvdx, zcu_box, zcv_box, pe_i(:,:,jk,:) )   ! Ice  heat content 
    133134         END DO 
    134          CALL lbc_lnk( 'icedyn_adv_umx', pe_i, 'T',  1. ) 
    135  
    136135         CALL adv_umx( k_order, kt, jpl, zdt, zudy, zvdx, zcu_box, zcv_box, pv_s(:,:,:) )         ! Snow volume 
    137136         DO jk = 1, nlay_s 
    138137            CALL adv_umx( k_order, kt, jpl, zdt, zudy, zvdx, zcu_box, zcv_box, pe_s(:,:,jk,:) )   ! Snow heat content 
    139138         END DO 
    140          CALL lbc_lnk( 'icedyn_adv_umx', pe_s, 'T',  1. ) 
    141  
    142139         IF ( ln_pnd_H12 ) THEN 
    143140            CALL adv_umx( k_order, kt, jpl, zdt, zudy, zvdx, zcu_box, zcv_box, pa_ip(:,:,:) )     ! Melt pond fraction 
    144141            CALL adv_umx( k_order, kt, jpl, zdt, zudy, zvdx, zcu_box, zcv_box, pv_ip(:,:,:) )     ! Melt pond volume 
    145             CALL lbc_lnk_multi( 'icedyn_adv_umx', pa_i, 'T',  1., pv_i, 'T',  1., psv_i, 'T',  1., & 
     142         ENDIF 
     143 
     144         l_full_nf_update = jt == initad   ! true: enable full North fold update (performances) when exiting the loop 
     145         CALL lbc_lnk( 'icedyn_adv_umx', zpato, 'T',  1. ) 
     146         CALL lbc_lnk( 'icedyn_adv_umx', pe_i, 'T',  1. ) 
     147         CALL lbc_lnk( 'icedyn_adv_umx', pe_s, 'T',  1. ) 
     148         IF ( ln_pnd_H12 ) THEN 
     149            CALL lbc_lnk_multi( 'icedyn_adv_umx',  pa_i, 'T',  1., pv_i, 'T',  1., psv_i, 'T',  1., & 
    146150                                                & poa_i, 'T',  1., pv_s, 'T',  1., pa_ip, 'T',  1., & 
    147151                                                & pv_ip, 'T',  1. ) 
    148152         ELSE 
    149             CALL lbc_lnk_multi( 'icedyn_adv_umx', pa_i, 'T',  1., pv_i, 'T',  1., psv_i, 'T',  1., & 
     153            CALL lbc_lnk_multi( 'icedyn_adv_umx',  pa_i, 'T',  1., pv_i, 'T',  1., psv_i, 'T',  1., & 
    150154                                                & poa_i, 'T',  1., pv_s, 'T',  1. ) 
    151155         ENDIF 
     156          
    152157      END DO 
    153158      ! 
  • NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/src/ICE/icedyn_rhg_evp.F90

    r10365 r10386  
    324324      DO jter = 1 , nn_nevp                           !    loop over jter    ! 
    325325         !                                            !----------------------!         
     326         l_full_nf_update = jter == nn_nevp   ! false: disable full North fold update (performances) for iter = 1 to nn_nevp-1 
     327         ! 
    326328!!$         IF(ln_ctl) THEN   ! Convergence test 
    327329!!$            DO jj = 1, jpjm1 
  • NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/src/OCE/DYN/dynspg_ts.F90

    r10345 r10386  
    711711      DO jn = 1, icycle                             !  sub-time-step loop  ! 
    712712         !                                          ! ==================== ! 
     713         ! 
     714         l_full_nf_update = jn == icycle   ! false: disable full North fold update (performances) for jn = 1 to icycle-1 
     715         !                                                !  ------------------ 
    713716         !                                                !* Update the forcing (BDY and tides) 
    714717         !                                                !  ------------------ 
  • NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/src/OCE/LBC/lib_mpp.F90

    r10368 r10386  
    163163   INTEGER, PUBLIC                               ::   n_sequence_glb = 0           !: # of global communications 
    164164   INTEGER, PUBLIC                               ::   numcom = -1                  !: logical unit for communicaton report 
    165    LOGICAL, PUBLIC                               ::   l_full_nf_update = .FALSE.   !: logical for a full (2lines) update of bc at North fold report 
     165   LOGICAL, PUBLIC                               ::   l_full_nf_update = .TRUE.    !: logical for a full (2lines) update of bc at North fold report 
    166166   INTEGER,                    PARAMETER, PUBLIC ::   nbdelay = 1       !: number of delayed operations 
    167167!$AGRIF_DO_NOT_TREAT 
  • NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/src/OCE/SBC/cpl_oasis3.F90

    r10337 r10386  
    455455         !--- check periodicity conditions (all cases) 
    456456         IF( .not. llfisrt ) THEN 
    457             l_full_nf_update = .TRUE.    ! enable full North fold update 
    458457            CALL lbc_lnk( 'cpl_oasis3', pdata(:,:,jc), srcv(kid)%clgrid, srcv(kid)%nsgn )    
    459             l_full_nf_update = .FALSE.   ! disable full North fold update (performances) 
    460458         ENDIF 
    461459  
Note: See TracChangeset for help on using the changeset viewer.