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 13899 for NEMO/branches/2020/tickets_icb_1900/src/ABL – NEMO

Ignore:
Timestamp:
2020-11-27T17:26:33+01:00 (3 years ago)
Author:
mathiot
Message:

ticket #1900: update branch to trunk and add ICB test case

Location:
NEMO/branches/2020/tickets_icb_1900
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2020/tickets_icb_1900

    • Property svn:externals
      •  

        old new  
        22^/utils/build/makenemo@HEAD   makenemo 
        33^/utils/build/mk@HEAD         mk 
        4 ^/utils/tools/@HEAD           tools 
         4^/utils/tools@HEAD            tools 
        55^/vendors/AGRIF/dev_r12970_AGRIF_CMEMS      ext/AGRIF 
        66^/vendors/FCM@HEAD            ext/FCM 
         
        88 
        99# SETTE 
        10 ^/utils/CI/sette@12931        sette 
         10^/utils/CI/sette@13559        sette 
  • NEMO/branches/2020/tickets_icb_1900/src/ABL/ablmod.F90

    r13226 r13899  
    127127      !! needed for surface boundary condition of TKE 
    128128      !! pwndm contains | U10m - U_oce | (see blk_oce_1 in sbcblk) 
    129       DO_2D_11_11 
     129      DO_2D( 1, 1, 1, 1 ) 
    130130         zzoce         = pCd_du    (ji,jj) * pwndm    (ji,jj) 
    131131#if defined key_si3 
     
    245245            ! 
    246246            ! Advance u_abl & v_abl to time n+1 
    247             DO_2D_11_11 
     247            DO_2D( 1, 1, 1, 1 ) 
    248248               zcff = ( fft_abl(ji,jj) * rDt_abl )*( fft_abl(ji,jj) * rDt_abl )  ! (f dt)**2 
    249249 
     
    483483         DO jk = 2, jpka    ! outer loop 
    484484         !------------- 
    485             DO_2D_01_01 
     485            DO_2D( 0, 1, 0, 1 ) 
    486486               zcff1 = pblh( ji, jj ) 
    487487               zsig  = ght_abl(jk) / MAX( jp_pblh_min,  MIN(  jp_pblh_max, zcff1  ) ) 
     
    506506      DO jk = 2, jpka    ! outer loop 
    507507      !------------- 
    508          DO_2D_11_11 
     508         DO_2D( 1, 1, 1, 1 ) 
    509509            zcff1 = pblh( ji, jj ) 
    510510            zsig  = ght_abl(jk) / MAX( jp_pblh_min,  MIN(  jp_pblh_max, zcff1  ) ) 
     
    580580      !                            !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 
    581581      ! 
    582       DO_2D_11_11 
     582      DO_2D( 1, 1, 1, 1 ) 
    583583         ztemp          =  tq_abl( ji, jj, 2, nt_a, jp_ta ) 
    584584         zhumi          =  tq_abl( ji, jj, 2, nt_a, jp_qa ) 
     
    589589      END_2D 
    590590 
    591       DO_2D_01_01 
     591      DO_2D( 0, 1, 0, 1 ) 
    592592         zwnd_i(ji,jj) = u_abl(ji  ,jj,2,nt_a) - 0.5_wp * ( pssu(ji  ,jj) + pssu(ji-1,jj) )   
    593593         zwnd_j(ji,jj) = v_abl(ji,jj  ,2,nt_a) - 0.5_wp * ( pssv(ji,jj  ) + pssv(ji,jj-1) )  
     
    597597      ! 
    598598      ! ... scalar wind ( = | U10m - U_oce | ) at T-point (masked) 
    599       DO_2D_11_11 
     599      DO_2D( 1, 1, 1, 1 ) 
    600600         zcff          = SQRT(  zwnd_i(ji,jj) * zwnd_i(ji,jj)   & 
    601601            &                 + zwnd_j(ji,jj) * zwnd_j(ji,jj) )   ! * msk_abl(ji,jj) 
     
    610610      !     Note the use of 0.5*(2-umask) in order to unmask the stress along coastlines 
    611611      !     Note the use of MAX(tmask(i,j),tmask(i+1,j) is to mask tau over ice shelves 
    612       DO_2D_00_00 
     612      DO_2D( 0, 0, 0, 0 ) 
    613613         zcff  = 0.5_wp * ( 2._wp - msk_abl(ji,jj)*msk_abl(ji+1,jj) ) 
    614614         zztmp = MAX(msk_abl(ji,jj),msk_abl(ji+1,jj)) 
     
    633633      !    Wind stress relative to the moving ice ( U10m - U_ice )   ! 
    634634      ! ------------------------------------------------------------ ! 
    635       DO_2D_00_00            
     635      DO_2D( 0, 0, 0, 0 )            
    636636         ptaui_ice(ji,jj) = 0.5_wp * ( rhoa(ji+1,jj) * pCd_du_ice(ji+1,jj) + rhoa(ji,jj) * pCd_du_ice(ji,jj)      )   & 
    637637            &                      * ( 0.5_wp * ( u_abl(ji+1,jj,2,nt_a) + u_abl(ji,jj,2,nt_a) ) - pssu_ice(ji,jj) ) 
     
    646646      !    Wind stress relative to the moving ice ( U10m - U_ice )   ! 
    647647      ! ------------------------------------------------------------ ! 
    648       DO_2D_00_00 
     648      DO_2D( 0, 0, 0, 0 ) 
    649649 
    650650         zztmp1 = 0.5_wp * ( u_abl(ji+1,jj  ,2,nt_a) + u_abl(ji,jj,2,nt_a) ) 
     
    12591259      smth_b = 1._wp / 4._wp 
    12601260      ! 
    1261       DO_2D_11_10 
     1261      DO_2D( 1, 1, 1, 0 ) 
    12621262         zumsk = msk(ji,jj) * msk(ji+1,jj) 
    12631263         zdX ( ji, jj ) = ( pvar2d( ji+1,jj ) - pvar2d( ji  ,jj ) ) * zumsk 
    12641264      END_2D 
    12651265 
    1266       DO_2D_10_11 
     1266      DO_2D( 1, 0, 1, 1 ) 
    12671267         zvmsk = msk(ji,jj) * msk(ji,jj+1) 
    12681268         zdY ( ji, jj ) = ( pvar2d( ji, jj+1 ) - pvar2d( ji  ,jj ) ) * zvmsk 
    12691269      END_2D 
    12701270 
    1271       DO_2D_10_00 
     1271      DO_2D( 1, 0, 0, 0 ) 
    12721272         zFY ( ji, jj  ) =   zdY ( ji, jj   )                        & 
    12731273            & +  smth_a*  ( (zdX ( ji, jj+1 ) - zdX( ji-1, jj+1 ))   & 
     
    12751275      END_2D 
    12761276 
    1277       DO_2D_00_10 
     1277      DO_2D( 0, 0, 1, 0 ) 
    12781278         zFX( ji, jj  ) =    zdX( ji, jj   )                         & 
    12791279           &    + smth_a*(  (zdY( ji+1, jj ) - zdY( ji+1, jj-1))     & 
     
    12811281      END_2D 
    12821282 
    1283       DO_2D_00_00 
     1283      DO_2D( 0, 0, 0, 0 ) 
    12841284         pvar2d( ji  ,jj ) = pvar2d( ji  ,jj )              & 
    12851285  &         + msk(ji,jj) * smth_b * (                       & 
  • NEMO/branches/2020/tickets_icb_1900/src/ABL/ablrst.F90

    r13214 r13899  
    165165 
    166166      ! --- mandatory fields --- !  
    167       CALL iom_get( numrar, jpdom_autoglo,   'u_abl',   u_abl(:,:,:,nt_n      ) ) 
    168       CALL iom_get( numrar, jpdom_autoglo,   'v_abl',   v_abl(:,:,:,nt_n      ) ) 
    169       CALL iom_get( numrar, jpdom_autoglo,   't_abl',  tq_abl(:,:,:,nt_n,jp_ta) ) 
    170       CALL iom_get( numrar, jpdom_autoglo,   'q_abl',  tq_abl(:,:,:,nt_n,jp_qa) ) 
    171       CALL iom_get( numrar, jpdom_autoglo, 'tke_abl', tke_abl(:,:,:,nt_n      ) ) 
    172       CALL iom_get( numrar, jpdom_autoglo, 'avm_abl', avm_abl(:,:,:           ) ) 
    173       CALL iom_get( numrar, jpdom_autoglo, 'avt_abl', avt_abl(:,:,:           ) ) 
    174       CALL iom_get( numrar, jpdom_autoglo,'mxld_abl',mxld_abl(:,:,:           ) ) 
    175       CALL iom_get( numrar, jpdom_autoglo,    'pblh',    pblh(:,:             ) ) 
     167      CALL iom_get( numrar, jpdom_auto,   'u_abl',   u_abl(:,:,:,nt_n      ), cd_type = 'U', psgn = -1._wp ) 
     168      CALL iom_get( numrar, jpdom_auto,   'v_abl',   v_abl(:,:,:,nt_n      ), cd_type = 'V', psgn = -1._wp ) 
     169      CALL iom_get( numrar, jpdom_auto,   't_abl',  tq_abl(:,:,:,nt_n,jp_ta) ) 
     170      CALL iom_get( numrar, jpdom_auto,   'q_abl',  tq_abl(:,:,:,nt_n,jp_qa) ) 
     171      CALL iom_get( numrar, jpdom_auto, 'tke_abl', tke_abl(:,:,:,nt_n      ) ) 
     172      CALL iom_get( numrar, jpdom_auto, 'avm_abl', avm_abl(:,:,:           ) ) 
     173      CALL iom_get( numrar, jpdom_auto, 'avt_abl', avt_abl(:,:,:           ) ) 
     174      CALL iom_get( numrar, jpdom_auto,'mxld_abl',mxld_abl(:,:,:           ) ) 
     175      CALL iom_get( numrar, jpdom_auto,    'pblh',    pblh(:,:             ) ) 
    176176      CALL iom_delay_rst( 'READ', 'ABL', numrar )   ! read only abl delayed global communication variables 
    177177 
Note: See TracChangeset for help on using the changeset viewer.