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 5206 for branches/2015/dev_r5204_CNRS_PISCES_dcy/NEMOGCM/NEMO/OPA_SRC – NEMO

Ignore:
Timestamp:
2015-04-13T12:13:10+02:00 (9 years ago)
Author:
cetlod
Message:

First improvment of diurnal cycle for passive tracers, see ticket #1484

Location:
branches/2015/dev_r5204_CNRS_PISCES_dcy/NEMOGCM/NEMO/OPA_SRC
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • branches/2015/dev_r5204_CNRS_PISCES_dcy/NEMOGCM/NEMO/OPA_SRC/SBC/sbc_ice.F90

    r5123 r5206  
    152152#endif 
    153153         ! 
    154 #if defined key_lim2 
    155       IF( ltrcdm2dc_ice )   ALLOCATE( qsr_ice_mean (jpi,jpj,jpl), STAT=ierr(3) ) 
     154#if defined key_lim3 || defined key_lim2  
     155      IF( l_trcdm2dc )   ALLOCATE( qsr_ice_mean (jpi,jpj,jpl), STAT=ierr(3) ) 
    156156#endif 
    157157         ! 
  • branches/2015/dev_r5204_CNRS_PISCES_dcy/NEMOGCM/NEMO/OPA_SRC/SBC/sbc_oce.F90

    r5120 r5206  
    8181   !!              Ocean Surface Boundary Condition fields 
    8282   !!---------------------------------------------------------------------- 
     83   LOGICAL , PUBLIC ::   l_trcdm2dc               !: In case of Diurnal Cycle short wave, compute a Daily Mean short waves flux 
     84   ! 
    8385   LOGICAL , PUBLIC ::   lhftau = .FALSE.        !: HF tau used in TKE: mean(stress module) - module(mean stress) 
    84    LOGICAL , PUBLIC ::   ltrcdm2dc               !: In case of Diurnal Cycle short wave, compute a Daily Mean short waves flux 
    8586   !!                                   !!   now    ! before   !! 
    8687   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   utau   , utau_b   !: sea surface i-stress (ocean referential)     [N/m2] 
     
    136137      !!                  ***  FUNCTION sbc_oce_alloc  *** 
    137138      !!--------------------------------------------------------------------- 
    138       INTEGER :: ierr(5) 
     139      INTEGER :: ierr(6) 
    139140      !!--------------------------------------------------------------------- 
    140141      ierr(:) = 0 
     
    158159         &      ssv_m  (jpi,jpj) , sss_m  (jpi,jpj), ssh_m(jpi,jpj) , STAT=ierr(4) ) 
    159160         ! 
     161         IF( l_trcdm2dc )   ALLOCATE( qsr_mean(jpi,jpj) , STAT=ierr(5) ) 
     162         ! 
    160163#if defined key_vvl 
    161       ALLOCATE( e3t_m(jpi,jpj) , STAT=ierr(5) ) 
    162 #endif 
    163          ! 
    164       IF( ltrcdm2dc ) ALLOCATE( qsr_mean(jpi,jpj) , STAT=ierr(5) ) 
     164      ALLOCATE( e3t_m(jpi,jpj) , STAT=ierr(6) ) 
     165#endif 
    165166         ! 
    166167      sbc_oce_alloc = MAXVAL( ierr ) 
  • branches/2015/dev_r5204_CNRS_PISCES_dcy/NEMOGCM/NEMO/OPA_SRC/SBC/sbcblk_core.F90

    r5065 r5206  
    196196      IF( MOD( kt - 1, nn_fsbc ) == 0 )   CALL blk_oce_core( kt, sf, sst_m, ssu_m, ssv_m ) 
    197197 
    198       ! If diurnal cycle is activated, compute a daily mean short waves flux for biogeochemistery 
    199       IF( ltrcdm2dc )   CALL blk_bio_meanqsr 
     198      IF( l_trcdm2dc )   CALL blk_bio_meanqsr  ! diurnal cycle : daily mean short waves flux for biogeochemistery 
    200199 
    201200#if defined key_cice 
  • branches/2015/dev_r5204_CNRS_PISCES_dcy/NEMOGCM/NEMO/OPA_SRC/SBC/sbcice_lim.F90

    r5167 r5206  
    172172            IF( nn_limflx /= 2 )   CALL ice_lim_flx( t_su, zalb_ice, qns_ice, qsr_ice ,   & 
    173173               &                                           dqns_ice, qla_ice, dqla_ice, nn_limflx ) 
     174 
     175            IF( l_trcdm2dc )       CALL blk_ice_meanqsr( zalb_ice, qsr_ice_mean, jpl ) 
    174176            ! 
    175177         CASE ( jp_cpl ) 
  • branches/2015/dev_r5204_CNRS_PISCES_dcy/NEMOGCM/NEMO/OPA_SRC/SBC/sbcice_lim_2.F90

    r4990 r5206  
    194194               &                      tprecip    , sprecip    ,                         & 
    195195               &                      fr1_i0     , fr2_i0     , cp_ice_msh , jpl  ) 
     196 
    196197            IF( ltrcdm2dc_ice )   CALL blk_ice_meanqsr( zalb_ice, qsr_ice_mean, jpl ) 
    197198 
     
    237238                           CALL lim_thd_2      ( kt )      ! Ice thermodynamics  
    238239                           CALL lim_sbc_flx_2  ( kt )      ! update surface ocean mass, heat & salt fluxes  
    239 #if defined key_top 
    240         IF( ltrcdm2dc_ice )CALL lim_bio_meanqsr_2 
    241 #endif 
    242240 
    243241         IF(  .NOT. lk_mpp )THEN 
  • branches/2015/dev_r5204_CNRS_PISCES_dcy/NEMOGCM/NEMO/OPA_SRC/SBC/sbcmod.F90

    r5123 r5206  
    2424   USE phycst           ! physical constants 
    2525   USE sbc_oce          ! Surface boundary condition: ocean fields 
     26   USE trc_oce          ! shared ocean-passive tracers variables 
    2627   USE sbc_ice          ! Surface boundary condition: ice fields 
    2728   USE sbcdcy           ! surface boundary condition: diurnal cycle 
     
    151152      END SELECT 
    152153      ! 
    153 #if defined key_top && ! defined key_offline 
    154       ltrcdm2dc = (ln_dm2dc .AND. ln_blk_core .AND. nn_ice==2) 
    155       IF( ltrcdm2dc )THEN 
    156          IF(lwp)THEN 
    157             WRITE(numout,*)"analytical diurnal cycle, core bulk formulation and LIM2 use: " 
    158             WRITE(numout,*)"Diurnal cycle on physics but not in passive tracers" 
     154      IF( ln_dm2dc .AND. lk_top  )  THEN    
     155         l_trcdm2dc = .TRUE. 
     156         IF( lwp ) THEN 
     157            WRITE(numout,*) "In case of diurnal cycle coupled with passive tracers" 
     158            WRITE(numout,*) "Computation of a daily mean shortwave for some biogeochemical models" 
    159159         ENDIF 
    160       ENDIF 
    161 #else  
    162       ltrcdm2dc =  .FALSE. 
    163 #endif 
    164  
    165       ! 
     160      ELSE              
     161         l_trcdm2dc = .FALSE. 
     162      ENDIF 
     163 
    166164      !                              ! allocate sbc arrays 
    167165      IF( sbc_oce_alloc() /= 0 )   CALL ctl_stop( 'STOP', 'sbc_init : unable to allocate sbc_oce arrays' ) 
  • branches/2015/dev_r5204_CNRS_PISCES_dcy/NEMOGCM/NEMO/OPA_SRC/trc_oce.F90

    r4623 r5206  
    3232   !!   'key_top'                                                 bio-model           
    3333   !!---------------------------------------------------------------------- 
     34   LOGICAL, PUBLIC, PARAMETER ::   lk_top     = .TRUE.   !: TOP model 
    3435   LOGICAL, PUBLIC, PARAMETER ::   lk_qsr_bio = .TRUE.   !: bio-model light absorption flag 
    3536#else 
     
    3738   !! Default option                          No bio-model light absorption       
    3839   !!---------------------------------------------------------------------- 
     40   LOGICAL, PUBLIC, PARAMETER ::   lk_top     = .FALSE.   !: TOP model 
    3941   LOGICAL, PUBLIC, PARAMETER ::   lk_qsr_bio = .FALSE.   !: bio-model light absorption flag 
    4042#endif 
Note: See TracChangeset for help on using the changeset viewer.