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 4024 for branches/2013/dev_r3856_MERCATOR3_QSRMEAN24H/NEMOGCM/NEMO/OPA_SRC – NEMO

Ignore:
Timestamp:
2013-09-11T15:58:45+02:00 (11 years ago)
Author:
cbricaud
Message:

correction for branch dev_r3856_MERCATOR3_QSRMEAN24H

Location:
branches/2013/dev_r3856_MERCATOR3_QSRMEAN24H/NEMOGCM/NEMO/OPA_SRC/SBC
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/2013/dev_r3856_MERCATOR3_QSRMEAN24H/NEMOGCM/NEMO/OPA_SRC/SBC/sbcblk_core.F90

    r3858 r4024  
    4848   PUBLIC   sbc_blk_core         ! routine called in sbcmod module 
    4949   PUBLIC   blk_ice_core         ! routine called in sbc_ice_lim module 
     50   PUBLIC   blk_ice_meanqsr      ! routine called in sbc_ice_lim module 
    5051   PUBLIC   turb_core_2z         ! routine calles in sbcblk_mfs module 
    5152 
     
    186187      CALL fld_read( kt, nn_fsbc, sf )             ! input fields provided at the current time-step 
    187188 
     189      !                                            ! compute the surface ocean fluxes using CORE bulk formulea 
     190      IF( MOD( kt - 1, nn_fsbc ) == 0 )   CALL blk_oce_core( kt, sf, sst_m, ssu_m, ssv_m ) 
     191 
    188192      ! If diurnal cycle is activated, compute a daily mean short waves flux for biogeochemistery  
    189193#if defined key_top 
    190194      IF( ltrcdm2dc )CALL blk_bio_meanqsr 
    191195#endif 
    192  
    193       !                                            ! compute the surface ocean fluxes using CORE bulk formulea 
    194       IF( MOD( kt - 1, nn_fsbc ) == 0 )   CALL blk_oce_core( kt, sf, sst_m, ssu_m, ssv_m ) 
    195196 
    196197#if defined key_cice 
     
    449450 
    450451   END SUBROUTINE blk_bio_meanqsr 
    451   
     452 
     453   SUBROUTINE blk_ice_meanqsr(palb,p_qsr_mean,pdim) 
     454      !!--------------------------------------------------------------------- 
     455      !! 
     456      !! 
     457      !!--------------------------------------------------------------------- 
     458      REAL(wp), DIMENSION(:,:,:), INTENT(in   ) ::   palb       ! ice albedo (clear sky) (alb_ice_cs)               [%] 
     459      REAL(wp), DIMENSION(:,:,:), INTENT(  out) ::   p_qsr_mean !     solar heat flux over ice (T-point)         [W/m2] 
     460      INTEGER                   , INTENT(in   ) ::   pdim       ! number of ice categories 
     461      !! 
     462      INTEGER  ::   ijpl          ! number of ice categories (size of 3rd dim of input arrays) 
     463      INTEGER  ::   ji, jj, jl    ! dummy loop indices 
     464      REAL(wp) ::   zztmp         ! temporary variable 
     465      !!--------------------------------------------------------------------- 
     466 
     467      ijpl  = pdim                            ! number of ice categories 
     468      zztmp = 1. / ( 1. - albo ) 
     469      !                                     ! ========================== ! 
     470      DO jl = 1, ijpl                       !  Loop over ice categories  ! 
     471         !                                  ! ========================== ! 
     472         DO jj = 1 , jpj 
     473            DO ji = 1, jpi 
     474                  p_qsr_mean(ji,jj,jl) = zztmp * ( 1. - palb(ji,jj,jl) ) * qsr_mean(ji,jj) 
     475            ENDDO 
     476         ENDDO 
     477      ENDDO 
     478 
     479   END SUBROUTINE blk_ice_meanqsr   
    452480    
    453481   SUBROUTINE blk_ice_core(  pst   , pui   , pvi   , palb ,   & 
  • branches/2013/dev_r3856_MERCATOR3_QSRMEAN24H/NEMOGCM/NEMO/OPA_SRC/SBC/sbcice_lim_2.F90

    r3858 r4024  
    176176               &                      tprecip    , sprecip    ,                         & 
    177177               &                      fr1_i0     , fr2_i0     , cp_ice_msh , jpl  ) 
     178            IF( ltrcdm2dc_ice ) &  
     179            CALL blk_ice_meanqsr(zalb_ice_cs,qsr_ice_mean,jpl  ) 
     180 
    178181         CASE( 5 )           ! Coupled formulation : atmosphere-ice stress only (fluxes provided after ice dynamics) 
    179182            CALL sbc_cpl_ice_tau( utau_ice , vtau_ice ) 
     
    216219                           CALL lim_thd_2      ( kt )      ! Ice thermodynamics  
    217220                           CALL lim_sbc_flx_2  ( kt )      ! update surface ocean mass, heat & salt fluxes  
     221#if defined key_top 
     222        IF( ltrcdm2dc_ice )CALL lim_bio_meanqsr_2 
     223#endif 
    218224 
    219225         IF( ( MOD( kt+nn_fsbc-1, ninfo ) == 0 .OR. ntmoy == 1 ) .AND. .NOT. lk_mpp )   & 
     
    238244      IF( ln_limdyn    )   CALL lim_sbc_tau_2( kt, ub(:,:,1), vb(:,:,1) )  ! using before instantaneous surf. currents 
    239245      ! 
    240 #if defined key_top 
    241       IF( ltrcdm2dc_ice )CALL lim_bio_meanqsr_2 
    242 #endif 
    243       ! 
    244246      CALL wrk_dealloc( jpi,jpj,1, zalb_ice_os, zalb_ice_cs, zsist ) 
    245247      ! 
Note: See TracChangeset for help on using the changeset viewer.