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

Changeset 2412


Ignore:
Timestamp:
2010-11-19T18:36:22+01:00 (13 years ago)
Author:
gm
Message:

v3.3beta: #762 Bug correction in CORE bulk on NEC

Location:
branches/nemo_v3_3_beta/NEMOGCM/NEMO/OPA_SRC/SBC
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/nemo_v3_3_beta/NEMOGCM/NEMO/OPA_SRC/SBC/sbcblk_clio.F90

    r2409 r2412  
    235235      !------------------------------------! 
    236236!CDIR COLLAPSE 
    237       DO jj = 1 , jpj 
    238          DO ji = 1, jpi 
    239             utau(ji,jj) = sf(jp_utau)%fnow(ji,jj,1) 
    240             vtau(ji,jj) = sf(jp_vtau)%fnow(ji,jj,1) 
    241          END DO 
    242       END DO 
     237      utau(:,:) = sf(jp_utau)%fnow(:,:,1) 
     238!CDIR COLLAPSE 
     239      vtau(:,:) = sf(jp_vtau)%fnow(:,:,1) 
    243240 
    244241      !------------------------------------! 
     
    260257      !------------------------------------! 
    261258!CDIR COLLAPSE 
    262       DO jj = 1 , jpj 
    263          DO ji = 1, jpi 
    264             wndm(ji,jj) = sf(jp_wndm)%fnow(ji,jj,1) 
    265          END DO 
    266       END DO 
     259      wndm(:,:) = sf(jp_wndm)%fnow(:,:,1) 
    267260 
    268261      !------------------------------------------------! 
     
    368361 
    369362!CDIR COLLAPSE 
    370 !CDIR NOVERRCHK 
    371       DO jj = 1, jpj 
    372 !CDIR NOVERRCHK 
    373          DO ji = 1, jpi 
    374             qns (ji,jj) = zqlw(ji,jj) - zqsb(ji,jj) - zqla(ji,jj)      ! Downward Non Solar flux 
    375             emp (ji,jj) = zqla(ji,jj) / cevap - sf(jp_prec)%fnow(ji,jj,1) / rday * tmask(ji,jj,1) 
    376          END DO 
    377       END DO 
     363      emp (:,:) = zqla(:,:) / cevap - sf(jp_prec)%fnow(:,:,1) / rday * tmask(:,:,1) 
     364      qns (:,:) = zqlw(:,:) - zqsb(:,:) - zqla(:,:)         ! Downward Non Solar flux 
    378365      emps(:,:) = emp(:,:) 
    379366      ! 
     
    464451      SELECT CASE( cd_grid ) 
    465452      CASE( 'C' )                          ! C-grid ice dynamics 
    466       zcoef  = cai / cao                         ! Change from air-sea stress to air-ice stress 
    467 !CDIR COLLAPSE 
    468          DO jj = 1 , jpj 
    469             DO ji = 1, jpi 
    470                p_taui(ji,jj) = zcoef * utau(ji,jj) 
    471                p_tauj(ji,jj) = zcoef * vtau(ji,jj) 
    472             END DO 
    473          END DO 
     453         zcoef  = cai / cao                         ! Change from air-sea stress to air-ice stress 
     454         p_taui(:,:) = zcoef * utau(:,:) 
     455         p_tauj(:,:) = zcoef * vtau(:,:) 
    474456      CASE( 'I' )                          ! I-grid ice dynamics:  I-point (i.e. F-point lower-left corner) 
    475       zcoef  = 0.5_wp * cai / cao                ! Change from air-sea stress to air-ice stress!CDIR COLLAPSE 
     457         zcoef  = 0.5_wp * cai / cao                ! Change from air-sea stress to air-ice stress 
    476458         DO jj = 2, jpj         ! stress from ocean U- and V-points to ice U,V point 
    477459            DO ji = 2, jpi   ! I-grid : no vector opt. 
  • branches/nemo_v3_3_beta/NEMOGCM/NEMO/OPA_SRC/SBC/sbcblk_core.F90

    r2370 r2412  
    359359      qns(:,:) = zqlw(:,:) - zqsb(:,:) - zqla(:,:)      ! Downward Non Solar flux 
    360360!CDIR COLLAPSE 
    361       emp (:,:) = zevap(:,:) - sf(jp_prec)%fnow(:,:,1) * rn_pfac * tmask(:,:,1) 
     361      emp(:,:) = zevap(:,:) - sf(jp_prec)%fnow(:,:,1) * rn_pfac * tmask(:,:,1) 
    362362!CDIR COLLAPSE 
    363363      emps(:,:) = emp(:,:) 
     
    396396      !! caution : the net upward water flux has with mm/day unit 
    397397      !!--------------------------------------------------------------------- 
    398       REAL(wp), INTENT(in   ), DIMENSION(:,:,:)  ::   pst      ! ice surface temperature (>0, =rt0 over land) [Kelvin] 
    399       REAL(wp), INTENT(in   ), DIMENSION(jpi,jpj) ::   pui      ! ice surface velocity (i- and i- components      [m/s] 
    400       REAL(wp), INTENT(in   ), DIMENSION(jpi,jpj) ::   pvi      !    at I-point (B-grid) or U & V-point (C-grid) 
    401       REAL(wp), INTENT(in   ), DIMENSION(:,:,:)  ::   palb     ! ice albedo (clear sky) (alb_ice_cs)               [%] 
    402       REAL(wp), INTENT(  out), DIMENSION(jpi,jpj) ::   p_taui   ! i- & j-components of surface ice stress        [N/m2] 
    403       REAL(wp), INTENT(  out), DIMENSION(jpi,jpj) ::   p_tauj   !   at I-point (B-grid) or U & V-point (C-grid) 
    404       REAL(wp), INTENT(  out), DIMENSION(:,:,:)  ::   p_qns    ! non solar heat flux over ice (T-point)         [W/m2] 
    405       REAL(wp), INTENT(  out), DIMENSION(:,:,:)  ::   p_qsr    !     solar heat flux over ice (T-point)         [W/m2] 
    406       REAL(wp), INTENT(  out), DIMENSION(:,:,:)  ::   p_qla    ! latent    heat flux over ice (T-point)         [W/m2] 
    407       REAL(wp), INTENT(  out), DIMENSION(:,:,:)  ::   p_dqns   ! non solar heat sensistivity  (T-point)         [W/m2] 
    408       REAL(wp), INTENT(  out), DIMENSION(:,:,:)  ::   p_dqla   ! latent    heat sensistivity  (T-point)         [W/m2] 
    409       REAL(wp), INTENT(  out), DIMENSION(jpi,jpj) ::   p_tpr    ! total precipitation          (T-point)      [Kg/m2/s] 
    410       REAL(wp), INTENT(  out), DIMENSION(jpi,jpj) ::   p_spr    ! solid precipitation          (T-point)      [Kg/m2/s] 
    411       REAL(wp), INTENT(  out), DIMENSION(jpi,jpj) ::   p_fr1    ! 1sr fraction of qsr penetration in ice (T-point)  [%] 
    412       REAL(wp), INTENT(  out), DIMENSION(jpi,jpj) ::   p_fr2    ! 2nd fraction of qsr penetration in ice (T-point)  [%] 
    413       CHARACTER(len=1), INTENT(in   )            ::   cd_grid  ! ice grid ( C or B-grid) 
    414       INTEGER, INTENT(in   )                      ::   pdim     ! number of ice categories 
     398      REAL(wp), DIMENSION(:,:,:)  , INTENT(in   ) ::   pst      ! ice surface temperature (>0, =rt0 over land) [Kelvin] 
     399      REAL(wp), DIMENSION(jpi,jpj), INTENT(in   ) ::   pui      ! ice surface velocity (i- and i- components      [m/s] 
     400      REAL(wp), DIMENSION(jpi,jpj), INTENT(in   ) ::   pvi      !    at I-point (B-grid) or U & V-point (C-grid) 
     401      REAL(wp), DIMENSION(:,:,:)  , INTENT(in   ) ::   palb     ! ice albedo (clear sky) (alb_ice_cs)               [%] 
     402      REAL(wp), DIMENSION(jpi,jpj), INTENT(  out) ::   p_taui   ! i- & j-components of surface ice stress        [N/m2] 
     403      REAL(wp), DIMENSION(jpi,jpj), INTENT(  out) ::   p_tauj   !   at I-point (B-grid) or U & V-point (C-grid) 
     404      REAL(wp), DIMENSION(:,:,:)  , INTENT(  out) ::   p_qns    ! non solar heat flux over ice (T-point)         [W/m2] 
     405      REAL(wp), DIMENSION(:,:,:)  , INTENT(  out) ::   p_qsr    !     solar heat flux over ice (T-point)         [W/m2] 
     406      REAL(wp), DIMENSION(:,:,:)  , INTENT(  out) ::   p_qla    ! latent    heat flux over ice (T-point)         [W/m2] 
     407      REAL(wp), DIMENSION(:,:,:)  , INTENT(  out) ::   p_dqns   ! non solar heat sensistivity  (T-point)         [W/m2] 
     408      REAL(wp), DIMENSION(:,:,:)  , INTENT(  out) ::   p_dqla   ! latent    heat sensistivity  (T-point)         [W/m2] 
     409      REAL(wp), DIMENSION(jpi,jpj), INTENT(  out) ::   p_tpr    ! total precipitation          (T-point)      [Kg/m2/s] 
     410      REAL(wp), DIMENSION(jpi,jpj), INTENT(  out) ::   p_spr    ! solid precipitation          (T-point)      [Kg/m2/s] 
     411      REAL(wp), DIMENSION(jpi,jpj), INTENT(  out) ::   p_fr1    ! 1sr fraction of qsr penetration in ice (T-point)  [%] 
     412      REAL(wp), DIMENSION(jpi,jpj), INTENT(  out) ::   p_fr2    ! 2nd fraction of qsr penetration in ice (T-point)  [%] 
     413      CHARACTER(len=1)            , INTENT(in   ) ::   cd_grid  ! ice grid ( C or B-grid) 
     414      INTEGER                     , INTENT(in   ) ::   pdim     ! number of ice categories 
    415415      !! 
    416416      INTEGER  ::   ji, jj, jl    ! dummy loop indices 
     
    432432 
    433433      ! local scalars ( place there for vector optimisation purposes) 
    434       zcoef_wnorm = rhoa * Cice 
     434      zcoef_wnorm  = rhoa * Cice 
    435435      zcoef_wnorm2 = rhoa * Cice * 0.5 
    436       zcoef_dqlw = 4.0 * 0.95 * Stef 
    437       zcoef_dqla = -Ls * Cice * 11637800. * (-5897.8) 
    438       zcoef_dqsb = rhoa * cpa * Cice 
    439       zcoef_frca = 1.0  - 0.3 
     436      zcoef_dqlw   = 4.0 * 0.95 * Stef 
     437      zcoef_dqla   = -Ls * Cice * 11637800. * (-5897.8) 
     438      zcoef_dqsb   = rhoa * cpa * Cice 
     439      zcoef_frca   = 1.0  - 0.3 
    440440 
    441441!!gm brutal.... 
     
    451451      CASE( 'I' )                  ! B-grid ice dynamics :   I-point (i.e. F-point with sea-ice indexation) 
    452452         !                           and scalar wind at T-point ( = | U10m - U_ice | ) (masked) 
    453 #if defined key_vectopt_loop 
    454 !CDIR COLLAPSE 
    455 #endif 
    456453!CDIR NOVERRCHK 
    457454         DO jj = 2, jpjm1 
    458             DO ji = 2, jpim1   ! B grid : no vector opt 
     455            DO ji = 2, jpim1   ! B grid : NO vector opt 
    459456               ! ... scalar wind at I-point (fld being at T-point) 
    460457               zwndi_f = 0.25 * (  sf(jp_wndi)%fnow(ji-1,jj  ,1) + sf(jp_wndi)%fnow(ji  ,jj  ,1)   & 
Note: See TracChangeset for help on using the changeset viewer.