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 4892 for branches/2014 – NEMO

Changeset 4892 for branches/2014


Ignore:
Timestamp:
2014-11-27T13:51:40+01:00 (9 years ago)
Author:
vancop
Message:

cleaning fraction of radiation absorbed in leads

Location:
branches/2014/dev_4728_CNRS04_coupled_interface/NEMOGCM/NEMO
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • branches/2014/dev_4728_CNRS04_coupled_interface/NEMOGCM/NEMO/LIM_SRC_3/limsbc.F90

    r4859 r4892  
    3232   USE sbc_oce          ! Surface boundary condition: ocean fields 
    3333   USE sbccpl 
    34    USE oce       , ONLY : iatte, oatte, sshn, sshb, snwice_mass, snwice_mass_b, snwice_fmass 
     34   USE oce       , ONLY : fraqsr_1lev, sshn, sshb, snwice_mass, snwice_mass_b, snwice_fmass 
    3535   USE albedo           ! albedo parameters 
    3636   USE lbclnk           ! ocean lateral boundary condition - MPP exchanges 
     
    348348      ! clem modif 
    349349      IF( .NOT. ln_rstart ) THEN 
    350          iatte(:,:) = 1._wp 
    351          oatte(:,:) = 1._wp 
     350         fraqsr_1lev(:,:) = 1._wp 
    352351      ENDIF 
    353352      ! 
  • branches/2014/dev_4728_CNRS04_coupled_interface/NEMOGCM/NEMO/LIM_SRC_3/limthd.F90

    r4859 r4892  
    2222   USE phycst         ! physical constants 
    2323   USE dom_oce        ! ocean space and time domain variables 
    24    USE oce     , ONLY :  iatte, oatte 
     24   USE oce     , ONLY : fraqsr_1lev 
    2525   USE ice            ! LIM: sea-ice variables 
    2626   USE par_ice        ! LIM: sea-ice parameters 
     
    176176            ! --- Energy received in the lead, zqld is defined everywhere (J.m-2) --- ! 
    177177            zqld =  tms(ji,jj) * rdt_ice *                                          & 
    178                &      ( pfrld(ji,jj) * ( zqsr(ji,jj) * oatte(ji,jj) + zqns(ji,jj) ) & 
     178               &      ( pfrld(ji,jj) * ( zqsr(ji,jj) * fraqsr_1lev(ji,jj) + zqns(ji,jj) ) & 
    179179               &    + ( pfrld(ji,jj)**betas - pfrld(ji,jj) ) * sprecip(ji,jj) *     & ! heat content of precip 
    180180               &      ( cpic * ( MIN( tatm_ice(ji,jj), rt0_snow ) - rtt ) - lfus )  & 
     
    332332            CALL tab_2d_1d( nbpb, sfx_bri_1d (1:nbpb), sfx_bri         , jpi, jpj, npb(1:nbpb) ) 
    333333            CALL tab_2d_1d( nbpb, sfx_res_1d (1:nbpb), sfx_res         , jpi, jpj, npb(1:nbpb) ) 
    334  
    335             CALL tab_2d_1d( nbpb, iatte_1d   (1:nbpb), iatte           , jpi, jpj, npb(1:nbpb) )  
    336             CALL tab_2d_1d( nbpb, oatte_1d   (1:nbpb), oatte           , jpi, jpj, npb(1:nbpb) )  
    337334 
    338335            CALL tab_2d_1d( nbpb, hfx_thd_1d (1:nbpb), hfx_thd         , jpi, jpj, npb(1:nbpb) ) 
  • branches/2014/dev_4728_CNRS04_coupled_interface/NEMOGCM/NEMO/LIM_SRC_3/limthd_dif.F90

    r4859 r4892  
    271271 
    272272      DO ji = kideb, kiut           ! Radiation transmitted below the ice 
    273          !!!ftr_ice_1d(ji) = ftr_ice_1d(ji) + iatte_1d(ji) * zradtr_i(ji,nlay_i) * a_i_b(ji) / at_i_b(ji) ! clem modif 
    274273         ftr_ice_1d(ji) = zradtr_i(ji,nlay_i)  
    275274      END DO 
  • branches/2014/dev_4728_CNRS04_coupled_interface/NEMOGCM/NEMO/LIM_SRC_3/thd_ice.F90

    r4688 r4892  
    115115   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:) ::   s_i_new     !: Salinity of new ice at the bottom 
    116116 
    117    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:) ::   iatte_1d   !: clem attenuation coef of the input solar flux (unitless) 
    118    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:) ::   oatte_1d   !: clem attenuation coef of the input solar flux (unitless) 
    119  
    120117   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   t_s_b   !: corresponding to the 2D var  t_s 
    121118   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   t_i_b   !: corresponding to the 2D var  t_i 
     
    149146         &      qsr_ice_1d (jpij) ,     & 
    150147         &      fr1_i0_1d(jpij) , fr2_i0_1d(jpij) , qns_ice_1d(jpij) ,     & 
    151          &      t_bo_b   (jpij) , iatte_1d  (jpij) , oatte_1d (jpij) ,     & 
     148         &      t_bo_b   (jpij) ,                                          & 
    152149         &      hfx_sum_1d(jpij) , hfx_bom_1d(jpij) ,hfx_bog_1d(jpij) ,hfx_dif_1d(jpij) ,hfx_opw_1d(jpij) , & 
    153150         &      hfx_thd_1d(jpij) , hfx_spr_1d(jpij) , & 
  • branches/2014/dev_4728_CNRS04_coupled_interface/NEMOGCM/NEMO/OPA_SRC/IOM/restart.F90

    r4693 r4892  
    134134#endif 
    135135                  IF( lk_lim3 ) THEN 
    136                      CALL iom_rstput( kt, nitrst, numrow, 'iatte'  , iatte     ) !clem modif 
    137                      CALL iom_rstput( kt, nitrst, numrow, 'oatte'  , oatte     ) !clem modif 
     136                     CALL iom_rstput( kt, nitrst, numrow, 'fraqsr_1lev'  , fraqsr_1lev     ) !clem modif 
    138137                  ENDIF 
    139138      IF( kt == nitrst ) THEN 
     
    255254      ! 
    256255      IF( lk_lim3 ) THEN 
    257          CALL iom_get( numror, jpdom_autoglo, 'iatte' , iatte ) ! clem modif 
    258          CALL iom_get( numror, jpdom_autoglo, 'oatte' , oatte ) ! clem modif 
     256         CALL iom_get( numror, jpdom_autoglo, 'fraqsr_1lev' , fraqsr_1lev ) 
    259257      ENDIF 
    260258      ! 
  • branches/2014/dev_4728_CNRS04_coupled_interface/NEMOGCM/NEMO/OPA_SRC/TRA/traqsr.F90

    r4624 r4892  
    167167               DO ji = 1, jpi 
    168168                  IF ( qsr(ji,jj) /= 0._wp ) THEN 
    169                      oatte(ji,jj) = ( qsr_hc(ji,jj,1) / ( r1_rau0_rcp * qsr(ji,jj) ) ) 
    170                      iatte(ji,jj) = oatte(ji,jj) 
     169                     fraqsr_1lev(ji,jj) = ( qsr_hc(ji,jj,1) / ( r1_rau0_rcp * qsr(ji,jj) ) ) 
    171170                  ENDIF 
    172171               END DO 
     
    239238                        zzc2 = zcoef  * EXP( - fse3t(ji,jj,1) * zekg(ji,jj) ) 
    240239                        zzc3 = zcoef  * EXP( - fse3t(ji,jj,1) * zekr(ji,jj) ) 
    241                         oatte(ji,jj) = 1.0 - ( zzc0 + zzc1 + zzc2  + zzc3  ) * tmask(ji,jj,2)  
    242                         iatte(ji,jj) = 1.0 - ( zzc0 + zzc1 + zcoef + zcoef ) * tmask(ji,jj,2) 
     240                        fraqsr_1lev(ji,jj) = 1.0 - ( zzc0 + zzc1 + zzc2  + zzc3  ) * tmask(ji,jj,2)  
    243241                     END DO 
    244242                  END DO 
     
    257255               ! clem: store attenuation coefficient of the first ocean level 
    258256               IF ( lk_lim3 .AND. ln_qsr_ice ) THEN 
    259                   oatte(:,:) = etot3(:,:,1) / r1_rau0_rcp 
    260                   iatte(:,:) = oatte(:,:) 
     257                  fraqsr_1lev(:,:) = etot3(:,:,1) / r1_rau0_rcp 
    261258               ENDIF 
    262259           ENDIF 
     
    285282                        zc0 = zz0 * EXP( -fsdepw(ji,jj,1)*xsi0r ) + zz1 * EXP( -fsdepw(ji,jj,1)*xsi1r ) 
    286283                        zc1 = zz0 * EXP( -fsdepw(ji,jj,2)*xsi0r ) + zz1 * EXP( -fsdepw(ji,jj,2)*xsi1r ) 
    287                         oatte(ji,jj) = ( zc0*tmask(ji,jj,1) - zc1*tmask(ji,jj,2) ) / r1_rau0_rcp 
    288                         iatte(ji,jj) = oatte(ji,jj) 
     284                        fraqsr_1lev(ji,jj) = ( zc0*tmask(ji,jj,1) - zc1*tmask(ji,jj,2) ) / r1_rau0_rcp 
    289285                     END DO 
    290286                  END DO 
     
    300296               ! clem: store attenuation coefficient of the first ocean level 
    301297               IF ( lk_lim3 .AND. ln_qsr_ice ) THEN 
    302                   oatte(:,:) = etot3(:,:,1) / r1_rau0_rcp 
    303                   iatte(:,:) = oatte(:,:) 
     298                  fraqsr_1lev(:,:) = etot3(:,:,1) / r1_rau0_rcp 
    304299               ENDIF 
    305300               ! 
     
    382377      IF( nn_timing == 1 )  CALL timing_start('tra_qsr_init') 
    383378      ! 
    384       ! clem init for oatte and iatte 
     379      ! Default value for fraqsr_1lev 
    385380      IF( .NOT. ln_rstart ) THEN 
    386          oatte(:,:) = 1._wp 
    387          iatte(:,:) = 1._wp 
     381         fraqsr_1lev(:,:) = 1._wp 
    388382      ENDIF 
    389383      ! 
  • branches/2014/dev_4728_CNRS04_coupled_interface/NEMOGCM/NEMO/OPA_SRC/oce.F90

    r4354 r4892  
    5757   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)   ::   snwice_fmass       !: time evolution of mass of snow+ice               [Kg/m2/s] 
    5858 
    59    !! arrays related to penetration of solar fluxes to calculate the heat budget for sea ice 
    60    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)   ::   oatte, iatte       !: attenuation coef of the input solar flux [unitless] 
     59   !! Energy budget of the leads (open water embedded in sea ice) 
     60   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)   ::   fraqsr_1lev        !: fraction of solar net radiation absorbed in the first ocean level [-] 
    6161 
    6262   !!---------------------------------------------------------------------- 
     
    9494      ALLOCATE( snwice_mass(jpi,jpj) , snwice_mass_b(jpi,jpj), snwice_fmass(jpi,jpj) , STAT=ierr(3) ) 
    9595         ! 
    96       ALLOCATE( iatte(jpi,jpj) , oatte(jpi,jpj) , STAT=ierr(4) ) 
     96      ALLOCATE( fraqsr_1lev(jpi,jpj) , STAT=ierr(4) ) 
    9797         ! 
    9898      oce_alloc = MAXVAL( ierr ) 
Note: See TracChangeset for help on using the changeset viewer.