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 9454 for branches/2017/dev_merge_2017/NEMOGCM/NEMO/OPA_SRC – NEMO

Ignore:
Timestamp:
2018-04-03T17:33:37+02:00 (6 years ago)
Author:
clem
Message:

make sure that agrif is working with sea ice in any conditions

Location:
branches/2017/dev_merge_2017/NEMOGCM/NEMO/OPA_SRC/SBC
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/2017/dev_merge_2017/NEMOGCM/NEMO/OPA_SRC/SBC/geo2ocean.F90

    r9098 r9454  
    1010   !!            3.7  !  11-2015  (G. Madec)  remove the unused repere and repcmo routines 
    1111   !!---------------------------------------------------------------------- 
    12  
     12#if defined key_agrif 
     13!DIR$ OPTIMIZE:1 
     14#endif 
    1315   !!---------------------------------------------------------------------- 
    1416   !!   rot_rep       : Rotate the Repere: geographic grid <==> stretched coordinates grid 
  • branches/2017/dev_merge_2017/NEMOGCM/NEMO/OPA_SRC/SBC/sbcblk.F90

    r9190 r9454  
    825825      !! 
    826826      INTEGER  ::   ji, jj, jl               ! dummy loop indices 
    827       REAL(wp) ::   zst2, zst3               ! local variable 
     827      REAL(wp) ::   zst3                     ! local variable 
    828828      REAL(wp) ::   zcoef_dqlw, zcoef_dqla   !   -      - 
    829829      REAL(wp) ::   zztmp, z1_lsub           !   -      - 
    830830      REAL(wp) ::   zfr1, zfr2               ! local variables 
     831      REAL(wp), DIMENSION(jpi,jpj,jpl) ::   z1_st         ! inverse of surface temperature 
    831832      REAL(wp), DIMENSION(jpi,jpj,jpl) ::   z_qlw         ! long wave heat flux over ice 
    832833      REAL(wp), DIMENSION(jpi,jpj,jpl) ::   z_qsb         ! sensible  heat flux over ice 
     
    843844      ! 
    844845      zztmp = 1. / ( 1. - albo ) 
     846      WHERE( ptsu(:,:,:) /= 0._wp )   ;   z1_st(:,:,:) = 1._wp / ptsu(:,:,:) 
     847      ELSEWHERE                       ;   z1_st(:,:,:) = 0._wp 
     848      END WHERE 
    845849      !                                     ! ========================== ! 
    846850      DO jl = 1, jpl                        !  Loop over ice categories  ! 
     
    851855               !      I   Radiative FLUXES   ! 
    852856               ! ----------------------------! 
    853                zst2 = ptsu(ji,jj,jl) * ptsu(ji,jj,jl) 
    854                zst3 = ptsu(ji,jj,jl) * zst2 
     857               zst3 = ptsu(ji,jj,jl) * ptsu(ji,jj,jl) * ptsu(ji,jj,jl) 
    855858               ! Short Wave (sw) 
    856859               qsr_ice(ji,jj,jl) = zztmp * ( 1. - palb(ji,jj,jl) ) * qsr(ji,jj) 
     
    869872               ! Latent Heat 
    870873               qla_ice(ji,jj,jl) = rn_efac * MAX( 0.e0, zrhoa(ji,jj) * Ls  * Ch_atm(ji,jj) * wndm_ice(ji,jj) *  & 
    871                   &                ( 11637800. * EXP( -5897.8 / ptsu(ji,jj,jl) ) / zrhoa(ji,jj) - sf(jp_humi)%fnow(ji,jj,1) ) ) 
     874                  &                ( 11637800. * EXP( -5897.8 * z1_st(ji,jj,jl) ) / zrhoa(ji,jj) - sf(jp_humi)%fnow(ji,jj,1) ) ) 
    872875               ! Latent heat sensitivity for ice (Dqla/Dt) 
    873876               IF( qla_ice(ji,jj,jl) > 0._wp ) THEN 
    874                   dqla_ice(ji,jj,jl) = rn_efac * zcoef_dqla * Ch_atm(ji,jj) * wndm_ice(ji,jj) / zst2 * EXP(-5897.8 / ptsu(ji,jj,jl)) 
     877                  dqla_ice(ji,jj,jl) = rn_efac * zcoef_dqla * Ch_atm(ji,jj) * wndm_ice(ji,jj) *  & 
     878                     &                 z1_st(ji,jj,jl)*z1_st(ji,jj,jl) * EXP(-5897.8 * z1_st(ji,jj,jl)) 
    875879               ELSE 
    876880                  dqla_ice(ji,jj,jl) = 0._wp 
Note: See TracChangeset for help on using the changeset viewer.