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 4616 for branches/2014/dev_CNRS0_NOC1_LDF/NEMOGCM/NEMO/OPA_SRC/SBC/sbcblk_core.F90 – NEMO

Ignore:
Timestamp:
2014-04-06T17:28:25+02:00 (10 years ago)
Author:
gm
Message:

#1260 : see the associated wiki page for explanation

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2014/dev_CNRS0_NOC1_LDF/NEMOGCM/NEMO/OPA_SRC/SBC/sbcblk_core.F90

    r4333 r4616  
    8888#  include "vectopt_loop_substitute.h90" 
    8989   !!---------------------------------------------------------------------- 
    90    !! NEMO/OPA 3.3 , NEMO-consortium (2010)  
     90   !! NEMO/OPA 3.7 , NEMO-consortium (2014)  
    9191   !! $Id$ 
    9292   !! Software governed by the CeCILL licence     (NEMOGCM/NEMO_CeCILL.txt) 
     
    125125      !!---------------------------------------------------------------------- 
    126126      INTEGER, INTENT(in) ::   kt   ! ocean time step 
    127       !! 
     127      ! 
    128128      INTEGER  ::   ierror   ! return error code 
    129129      INTEGER  ::   ifpr     ! dummy loop indice 
     
    141141         &                  sn_tdif, rn_zqt , ln_bulk2z, rn_zu 
    142142      !!--------------------------------------------------------------------- 
    143  
     143      ! 
    144144      !                                         ! ====================== ! 
    145145      IF( kt == nit000 ) THEN                   !  First call kt=nit000  ! 
     
    149149         READ  ( numnam_ref, namsbc_core, IOSTAT = ios, ERR = 901) 
    150150901      IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_core in reference namelist', lwp ) 
    151  
     151         ! 
    152152         REWIND( numnam_cfg )              ! Namelist namsbc_core in configuration namelist : CORE bulk parameters 
    153153         READ  ( numnam_cfg, namsbc_core, IOSTAT = ios, ERR = 902 ) 
     
    269269      zwnd_j(:,:) = 0.e0 
    270270#if defined key_cyclone 
    271 # if defined key_vectopt_loop 
    272 !CDIR COLLAPSE 
    273 # endif 
    274271      CALL wnd_cyc( kt, zwnd_i, zwnd_j )    ! add Manu ! 
    275272      DO jj = 2, jpjm1 
     
    279276         END DO 
    280277      END DO 
    281 #endif 
    282 #if defined key_vectopt_loop 
    283 !CDIR COLLAPSE 
    284278#endif 
    285279      DO jj = 2, jpjm1 
     
    292286      CALL lbc_lnk( zwnd_j(:,:) , 'T', -1. ) 
    293287      ! ... scalar wind ( = | U10m - U_oce | ) at T-point (masked) 
    294 !CDIR NOVERRCHK 
    295 !CDIR COLLAPSE 
    296288      wndm(:,:) = SQRT(  zwnd_i(:,:) * zwnd_i(:,:)   & 
    297289         &             + zwnd_j(:,:) * zwnd_j(:,:)  ) * tmask(:,:,1) 
     
    306298      ELSE                  ;   qsr(:,:) = zztmp *          sf(jp_qsr)%fnow(:,:,1)   * tmask(:,:,1) 
    307299      ENDIF 
    308 !CDIR COLLAPSE 
    309300      zqlw(:,:) = (  sf(jp_qlw)%fnow(:,:,1) - Stef * zst(:,:)*zst(:,:)*zst(:,:)*zst(:,:)  ) * tmask(:,:,1)   ! Long  Wave 
    310301      ! ----------------------------------------------------------------------------- ! 
     
    313304 
    314305      ! ... specific humidity at SST and IST 
    315 !CDIR NOVERRCHK 
    316 !CDIR COLLAPSE 
    317306      zqsatw(:,:) = zcoef_qsatw * EXP( -5107.4 / zst(:,:) )  
    318307 
     
    340329      ELSE 
    341330         !! If air temp. and spec. hum. are given at same height than wind (10m) : 
    342 !gm bug?  at the compiling phase, add a copy in temporary arrays...  ==> check perf 
    343 !         CALL TURB_CORE_1Z( 10., zst   (:,:), sf(jp_tair)%fnow(:,:),              & 
    344 !            &                    zqsatw(:,:), sf(jp_humi)%fnow(:,:), wndm(:,:),   & 
    345 !            &                    Cd    (:,:),             Ch  (:,:), Ce  (:,:)  ) 
    346 !gm bug 
    347 ! ARPDBG - this won't compile with gfortran. Fix but check performance 
    348 ! as per comment above. 
    349331         CALL TURB_CORE_1Z( 10., zst   , sf(jp_tair)%fnow(:,:,1),       & 
    350332            &                    zqsatw, sf(jp_humi)%fnow(:,:,1), wndm, & 
    351             &                    Cd    , Ch              , Ce    ) 
     333            &                    Cd    , Ch                     , Ce    ) 
    352334      ENDIF 
    353335 
     
    364346      ! ... add the HF tau contribution to the wind stress module? 
    365347      IF( lhftau ) THEN  
    366 !CDIR COLLAPSE 
    367348         taum(:,:) = taum(:,:) + sf(jp_tdif)%fnow(:,:,1) 
    368349      ENDIF 
     
    387368         zqsb (:,:) =                      rhoa*cpa*Ch(:,:)*( zst   (:,:) - zt_zu(:,:) ) * wndm(:,:)     ! Sensible Heat 
    388369      ELSE 
    389 !CDIR COLLAPSE 
    390370         zevap(:,:) = rn_efac * MAX( 0.e0, rhoa    *Ce(:,:)*( zqsatw(:,:) - sf(jp_humi)%fnow(:,:,1) ) * wndm(:,:) )   ! Evaporation 
    391 !CDIR COLLAPSE 
    392371         zqsb (:,:) =            rhoa*cpa*Ch(:,:)*( zst   (:,:) - sf(jp_tair)%fnow(:,:,1) ) * wndm(:,:)     ! Sensible Heat 
    393372      ENDIF 
    394 !CDIR COLLAPSE 
    395373      zqla (:,:) = Lv * zevap(:,:)                                                              ! Latent Heat 
    396374 
     
    409387      !     III    Total FLUXES                                                       ! 
    410388      ! ----------------------------------------------------------------------------- ! 
    411       
    412 !CDIR COLLAPSE 
     389      ! 
    413390      emp (:,:) = (  zevap(:,:)                                          &   ! mass flux (evap. - precip.) 
    414391         &         - sf(jp_prec)%fnow(:,:,1) * rn_pfac  ) * tmask(:,:,1) 
    415 !CDIR COLLAPSE 
    416392      qns(:,:) = zqlw(:,:) - zqsb(:,:) - zqla(:,:)                                &   ! Downward Non Solar flux 
    417393         &     - sf(jp_snow)%fnow(:,:,1) * rn_pfac * lfus                         &   ! remove latent melting heat for solid precip 
     
    579555      CASE( 'I' )                  ! B-grid ice dynamics :   I-point (i.e. F-point with sea-ice indexation) 
    580556         !                           and scalar wind at T-point ( = | U10m - U_ice | ) (masked) 
    581 !CDIR NOVERRCHK 
    582557         DO jj = 2, jpjm1 
    583558            DO ji = 2, jpim1   ! B grid : NO vector opt 
     
    604579         ! 
    605580      CASE( 'C' )                  ! C-grid ice dynamics :   U & V-points (same as ocean) 
    606 #if defined key_vectopt_loop 
    607 !CDIR COLLAPSE 
    608 #endif 
    609581         DO jj = 2, jpj 
    610582            DO ji = fs_2, jpi   ! vect. opt. 
     
    614586            END DO 
    615587         END DO 
    616 #if defined key_vectopt_loop 
    617 !CDIR COLLAPSE 
    618 #endif 
    619588         DO jj = 2, jpjm1 
    620589            DO ji = fs_2, fs_jpim1   ! vect. opt. 
     
    635604      DO jl = 1, ijpl                       !  Loop over ice categories  ! 
    636605         !                                  ! ========================== ! 
    637 !CDIR NOVERRCHK 
    638 !CDIR COLLAPSE 
    639606         DO jj = 1 , jpj 
    640 !CDIR NOVERRCHK 
    641607            DO ji = 1, jpi 
    642608               ! ----------------------------! 
     
    690656      ! ( Maykut and Untersteiner, 1971 ; Ebert and Curry, 1993 ) 
    691657     
    692 !CDIR COLLAPSE 
    693658      p_fr1(:,:) = ( 0.18 * ( 1.0 - zcoef_frca ) + 0.35 * zcoef_frca ) 
    694 !CDIR COLLAPSE 
    695659      p_fr2(:,:) = ( 0.82 * ( 1.0 - zcoef_frca ) + 0.65 * zcoef_frca ) 
    696660        
    697 !CDIR COLLAPSE 
    698661      p_tpr(:,:) = sf(jp_prec)%fnow(:,:,1) * rn_pfac      ! total precipitation [kg/m2/s] 
    699 !CDIR COLLAPSE 
    700662      p_spr(:,:) = sf(jp_snow)%fnow(:,:,1) * rn_pfac      ! solid precipitation [kg/m2/s] 
    701663      CALL iom_put( 'snowpre', p_spr * 86400. )                  ! Snow precipitation  
Note: See TracChangeset for help on using the changeset viewer.