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 – NEMO

Changeset 4024


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
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • branches/2013/dev_r3856_MERCATOR3_QSRMEAN24H/NEMOGCM/NEMO/LIM_SRC_2/limsbc_2.F90

    r3858 r4024  
    445445      !!--------------------------------------------------------------------- 
    446446 
    447       qsr_mean(:,:) =  qsr_mean(:,:) + ( 1. - frld(:,:) ) * fstric_daymean(:,:) 
     447      qsr_mean(:,:) =  pfrld(:,:) * qsr_mean(:,:) + ( 1. - pfrld(:,:) ) * fstric_daymean(:,:) 
    448448 
    449449   END SUBROUTINE lim_bio_meanqsr_2 
  • branches/2013/dev_r3856_MERCATOR3_QSRMEAN24H/NEMOGCM/NEMO/LIM_SRC_2/limthd_2.F90

    r3858 r4024  
    287287         CALL tab_2d_1d_2( nbpb, tbif_1d    (1:nbpb , 3 ), tbif(:,:,3)    , jpi, jpj, npb(1:nbpb) ) 
    288288         CALL tab_2d_1d_2( nbpb, qsr_ice_1d (1:nbpb)     , qsr_ice(:,:,1) , jpi, jpj, npb(1:nbpb) ) 
     289         IF( ltrcdm2dc_ice ) & 
     290           & CALL tab_2d_1d_2( nbpb, qsr_ice_mean_1d (1:nbpb)     , qsr_ice_mean(:,:,1) , jpi, jpj, npb(1:nbpb)  
    289291         CALL tab_2d_1d_2( nbpb, fr1_i0_1d  (1:nbpb)     , fr1_i0         , jpi, jpj, npb(1:nbpb) ) 
    290292         CALL tab_2d_1d_2( nbpb, fr2_i0_1d  (1:nbpb)     , fr2_i0         , jpi, jpj, npb(1:nbpb) ) 
     
    336338         CALL tab_1d_2d_2( nbpb, qsr_ice(:,:,1), npb, qsr_ice_1d(1:nbpb)  , jpi, jpj ) 
    337339         CALL tab_1d_2d_2( nbpb, qns_ice(:,:,1), npb, qns_ice_1d(1:nbpb)  , jpi, jpj ) 
     340         IF( ltrcdm2dc_ice )THEN 
     341            CALL tab_1d_2d_2( nbpb, fstric_daymean     , npb, fstbif_daymean_1d (1:nbpb)  , jpi, jpj ) 
     342            CALL tab_1d_2d_2( nbpb, qsr_ice_mean(:,:,1), npb,    qsr_ice_mean_1d(1:nbpb)  , jpi, jpj ) 
     343         ENDIF 
    338344         IF( .NOT. lk_cpl )   CALL tab_1d_2d_2( nbpb, qla_ice(:,:,1), npb, qla_ice_1d(1:nbpb)             , jpi, jpj ) 
    339          IF( ltrcdm2dc_ice  ) CALL tab_1d_2d_2( nbpb, fstric_daymean, npb, fstbif_daymean_1d (1:nbpb)     , jpi, jpj ) 
    340345         ! 
    341346      ENDIF 
  • branches/2013/dev_r3856_MERCATOR3_QSRMEAN24H/NEMOGCM/NEMO/LIM_SRC_2/limthd_zdf_2.F90

    r3858 r4024  
    280280             zi0(ji)  = zihsn * ( fr1_i0_1d(ji) + zihic * fr2_i0_1d(ji) ) 
    281281             zexp     = MIN( zone , EXP( -1.5 * ( h_ice_1d(ji) - zhsu ) ) ) 
    282              fstbif_daymean_1d(ji) = zi0(ji) * qsr_ice_1d(ji) * zexp 
     282             fstbif_daymean_1d(ji) = zi0(ji) * qsr_ice_mean_1d(ji) * zexp 
    283283          END DO 
    284284 
  • branches/2013/dev_r3856_MERCATOR3_QSRMEAN24H/NEMOGCM/NEMO/LIM_SRC_2/thd_ice_2.F90

    r3858 r4024  
    5858      fscbq_1d    ,     &  !:    "                  "      fscmcbq 
    5959      qsr_ice_1d  ,     &  !:    "                  "      qsr_ice 
     60      qsr_ice_mean_1d , &  !:    "                  "      qsr_ice_mean 
    6061      fr1_i0_1d   ,     &  !:    "                  "      fr1_i0 
    6162      fr2_i0_1d   ,     &  !:    "                  "      fr2_i0 
     
    121122         &      tbif_1d(jpij, jplayersp1), Stat=ierr(4)) 
    122123         ! 
    123       IF( ltrcdm2dc_ice )ALLOCATE(fstbif_daymean_1d(jpij),Stat=ierr(5)) 
     124      IF( ltrcdm2dc_ice )ALLOCATE(fstbif_daymean_1d(jpij),qsr_ice_mean_1d(jpij),Stat=ierr(5)) 
    124125         ! 
    125126      thd_ice_alloc_2 = MAXVAL(ierr) 
  • 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.