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 12928 for NEMO/branches/2019/dev_r11078_OSMOSIS_IMMERSE_Nurser/src/OCE/SBC/sbcflx.F90 – NEMO

Ignore:
Timestamp:
2020-05-14T21:46:00+02:00 (4 years ago)
Author:
smueller
Message:

Synchronizing with /NEMO/trunk@12925 (ticket #2170)

Location:
NEMO/branches/2019/dev_r11078_OSMOSIS_IMMERSE_Nurser
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2019/dev_r11078_OSMOSIS_IMMERSE_Nurser

    • Property svn:externals
      •  

        old new  
        66^/vendors/FCM@HEAD            ext/FCM 
        77^/vendors/IOIPSL@HEAD         ext/IOIPSL 
         8 
         9# SETTE 
         10^/utils/CI/sette@HEAD         sette 
  • NEMO/branches/2019/dev_r11078_OSMOSIS_IMMERSE_Nurser/src/OCE/SBC/sbcflx.F90

    r12178 r12928  
    3838 
    3939   !! * Substitutions 
    40 #  include "vectopt_loop_substitute.h90" 
     40#  include "do_loop_substitute.h90" 
    4141   !!---------------------------------------------------------------------- 
    4242   !! NEMO/OCE 4.0 , NEMO Consortium (2018) 
     
    9191      IF( kt == nit000 ) THEN                ! First call kt=nit000   
    9292         ! set file information 
    93          REWIND( numnam_ref )              ! Namelist namsbc_flx in reference namelist : Files for fluxes 
    9493         READ  ( numnam_ref, namsbc_flx, IOSTAT = ios, ERR = 901) 
    9594901      IF( ios /= 0 )   CALL ctl_nam ( ios , 'namsbc_flx in reference namelist' ) 
    9695 
    97          REWIND( numnam_cfg )              ! Namelist namsbc_flx in configuration namelist : Files for fluxes 
    9896         READ  ( numnam_cfg, namsbc_flx, IOSTAT = ios, ERR = 902 ) 
    9997902      IF( ios >  0 )   CALL ctl_nam ( ios , 'namsbc_flx in configuration namelist' ) 
     
    131129         ELSE                  ;   qsr(:,:) =          sf(jp_qsr)%fnow(:,:,1) 
    132130         ENDIF 
    133          DO jj = 1, jpj                                           ! set the ocean fluxes from read fields 
    134             DO ji = 1, jpi 
    135                utau(ji,jj) = sf(jp_utau)%fnow(ji,jj,1) 
    136                vtau(ji,jj) = sf(jp_vtau)%fnow(ji,jj,1) 
    137                qns (ji,jj) = sf(jp_qtot)%fnow(ji,jj,1) - sf(jp_qsr)%fnow(ji,jj,1) 
    138                emp (ji,jj) = sf(jp_emp )%fnow(ji,jj,1) 
    139             END DO 
    140          END DO 
     131         DO_2D_11_11 
     132            utau(ji,jj) = sf(jp_utau)%fnow(ji,jj,1) 
     133            vtau(ji,jj) = sf(jp_vtau)%fnow(ji,jj,1) 
     134            qns (ji,jj) = sf(jp_qtot)%fnow(ji,jj,1) - sf(jp_qsr)%fnow(ji,jj,1) 
     135            emp (ji,jj) = sf(jp_emp )%fnow(ji,jj,1) 
     136         END_2D 
    141137         !                                                        ! add to qns the heat due to e-p 
    142138         qns(:,:) = qns(:,:) - emp(:,:) * sst_m(:,:) * rcp        ! mass flux is at SST 
     
    147143         !                                                        ! module of wind stress and wind speed at T-point 
    148144         zcoef = 1. / ( zrhoa * zcdrag ) 
    149          DO jj = 2, jpjm1 
    150             DO ji = fs_2, fs_jpim1   ! vect. opt. 
    151                ztx = utau(ji-1,jj  ) + utau(ji,jj)  
    152                zty = vtau(ji  ,jj-1) + vtau(ji,jj)  
    153                zmod = 0.5 * SQRT( ztx * ztx + zty * zty ) 
    154                taum(ji,jj) = zmod 
    155                wndm(ji,jj) = SQRT( zmod * zcoef ) 
    156             END DO 
    157          END DO 
     145         DO_2D_00_00 
     146            ztx = utau(ji-1,jj  ) + utau(ji,jj)  
     147            zty = vtau(ji  ,jj-1) + vtau(ji,jj)  
     148            zmod = 0.5 * SQRT( ztx * ztx + zty * zty ) 
     149            taum(ji,jj) = zmod 
     150            wndm(ji,jj) = SQRT( zmod * zcoef ) 
     151         END_2D 
    158152         taum(:,:) = taum(:,:) * tmask(:,:,1) ; wndm(:,:) = wndm(:,:) * tmask(:,:,1) 
    159153         CALL lbc_lnk( 'sbcflx', taum(:,:), 'T', 1. )   ;   CALL lbc_lnk( 'sbcflx', wndm(:,:), 'T', 1. ) 
Note: See TracChangeset for help on using the changeset viewer.