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 11348 for NEMO/branches/2019/dev_r11265_ASINTER-01_Guillaume_ABL1D/src/ABL/sbcabl.F90 – NEMO

Ignore:
Timestamp:
2019-07-25T14:02:55+02:00 (5 years ago)
Author:
gsamson
Message:

dev_r11265_ABL :

  • merge HPC-13_IRRMANN_BDY_optimization branch @ rev11332 with dev_r11265_ABL branch @ rev11334
  • allow ln_dm2dc option with ABL
  • cosmetic change in sbcabl.F90

identical results with rev11334 for bulk and abl orca2

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2019/dev_r11265_ASINTER-01_Guillaume_ABL1D/src/ABL/sbcabl.F90

    r11334 r11348  
    7676      REWIND( numnam_ref )              ! Namelist namsbc_abl in reference namelist : ABL parameters 
    7777      READ  ( numnam_ref, namsbc_abl, IOSTAT = ios, ERR = 901 ) 
    78 901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_abl in reference namelist', lwp ) 
     78901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_abl in reference namelist' ) 
    7979      ! 
    8080      REWIND( numnam_cfg )              ! Namelist namsbc_abl in configuration namelist : ABL parameters 
    8181      READ  ( numnam_cfg, namsbc_abl, IOSTAT = ios, ERR = 902 ) 
    82 902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_abl in configuration namelist', lwp ) 
     82902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_abl in configuration namelist' ) 
    8383      ! 
    8484      IF(lwm) WRITE( numond, namsbc_abl ) 
     
    147147      CALL iom_get( inum, jpdom_unknown, 'ghw_abl', ghw_abl(:) ) 
    148148      CALL iom_close( inum ) 
    149       
     149 
    150150#if ! defined key_iomput 
    151151     IF( dia_wri_alloc_abl()  /= 0 ) CALL ctl_stop( 'STOP', 'abl_init : unable to allocate arrays' ) 
     
    328328      !! 2 - Compute Cd x ||U||, Ch x ||U||, Ce x ||U||, and SSQ using now fields 
    329329      !!-------------------------------------------------------------------------------------------   
    330           
    331       CALL blk_oce_1( kt, u_abl(:,:,2,nt_n), v_abl(:,:,2,nt_n), tq_abl(:,:,2,nt_n,jp_ta), tq_abl(:,:,2,nt_n,jp_qa),             & 
    332               &           sf(jp_slp )%fnow(:,:,1), sst_m, ssu_m, ssv_m, & 
    333               &              zssq, zcd_du, zsen, zevp ) 
    334  
     330 
     331      CALL blk_oce_1( kt,  u_abl(:,:,2,nt_n      ),  v_abl(:,:,2,nt_n      ),   &   !   <<= in 
     332         &                tq_abl(:,:,2,nt_n,jp_ta), tq_abl(:,:,2,nt_n,jp_qa),   &   !   <<= in 
     333         &                sf(jp_slp )%fnow(:,:,1) , sst_m, ssu_m, ssv_m     ,   &   !   <<= in 
     334         &                zssq, zcd_du, zsen, zevp                          )       !   =>> out 
     335   
    335336#if defined key_si3 
    336      CALL blk_ice_1( u_abl(:,:,2,nt_n), v_abl(:,:,2,nt_n), tq_abl(:,:,2,nt_n,jp_ta), tq_abl(:,:,2,nt_n,jp_qa),   & 
    337         &            sf(jp_slp)%fnow(:,:,1), u_ice, v_ice,                                          & 
    338          &            pseni=zseni, pevpi=zevpi, ptsui=tm_su, pssqi=zssqi, pcd_dui=zcd_dui )   ! outputs   
     337      CALL blk_ice_1(  u_abl(:,:,2,nt_n      ),  v_abl(:,:,2,nt_n      ),   &   !   <<= in 
     338         &            tq_abl(:,:,2,nt_n,jp_ta), tq_abl(:,:,2,nt_n,jp_qa),   &   !   <<= in 
     339         &            sf(jp_slp)%fnow(:,:,1)  ,  u_ice, v_ice           ,   &   !   <<= in 
     340         &            pseni=zseni, pevpi=zevpi, ptsui=tm_su             ,   &   !   <<= out 
     341         &            pssqi=zssqi, pcd_dui=zcd_dui                      )       !   =>> out 
    339342#endif   
    340343 
     
    343346      !!-------------------------------------------------------------------------------------------     
    344347   
    345       CALL abl_stp( kt, sst_m, ssu_m, ssv_m, zssq, &                            ! in 
    346               &         sf(jp_wndi)%fnow(:,:,:), sf(jp_wndj)%fnow(:,:,:),   & 
    347               &         sf(jp_tair)%fnow(:,:,:), sf(jp_humi)%fnow(:,:,:), sf(jp_slp)%fnow(:,:,1),  & 
    348               &         sf(jp_hpgi)%fnow(:,:,:), sf(jp_hpgj)%fnow(:,:,:),                          & 
    349               &         zcd_du, zsen, zevp,    &                                ! in/out 
    350               &         wndm, utau, vtau, taum &                                 ! out 
     348      CALL abl_stp( kt, sst_m, ssu_m, ssv_m, zssq,                          &   !   <<= in 
     349         &              sf(jp_wndi)%fnow(:,:,:), sf(jp_wndj)%fnow(:,:,:),   &   !   <<= in 
     350         &              sf(jp_tair)%fnow(:,:,:), sf(jp_humi)%fnow(:,:,:),   &   !   <<= in 
     351         &              sf(jp_slp )%fnow(:,:,1),                            &   !   <<= in 
     352         &              sf(jp_hpgi)%fnow(:,:,:), sf(jp_hpgj)%fnow(:,:,:),   &   !   <<= in 
     353         &              zcd_du, zsen, zevp,                                 &   !   <=> in/out 
     354         &              wndm, utau, vtau, taum                              &   !   =>> out 
    351355#if defined key_si3           
    352               &          , tm_su, u_ice, v_ice, zssqi, zcd_dui   &  
    353               &          , zseni, zevpi, wndm_ice, ato_i,        &  
    354            &            utau_ice,     vtau_ice                & 
     356         &            , tm_su, u_ice, v_ice, zssqi, zcd_dui                 &   !   <<= in 
     357         &            , zseni, zevpi, wndm_ice, ato_i                       &   !   <<= in 
     358         &            , utau_ice, vtau_ice                                  &   !   =>> out 
    355359#endif            
    356               &                                                                ) 
     360                                                                         ) 
    357361      !!------------------------------------------------------------------------------------------- 
    358362      !! 4 - Finalize flux computation using ABL variables at (n+1), nt_n corresponds to (n+1) since  
     
    360364      !!-------------------------------------------------------------------------------------------    
    361365 
    362       CALL blk_oce_2( kt, tq_abl(:,:,2,nt_n,jp_ta), sf(jp_qsr )%fnow(:,:,1), sf(jp_qlw )%fnow(:,:,1),     & 
    363               &           sf(jp_prec)%fnow(:,:,1),  sf(jp_snow)%fnow(:,:,1),   & 
    364               &           sst_m , zsen, zevp ) 
     366      CALL blk_oce_2( kt, tq_abl(:,:,2,nt_n,jp_ta),                            & 
     367         &                sf(jp_qsr )%fnow(:,:,1) , sf(jp_qlw )%fnow(:,:,1),   & 
     368         &                sf(jp_prec)%fnow(:,:,1) , sf(jp_snow)%fnow(:,:,1),   & 
     369         &                sst_m, zsen, zevp                                ) 
    365370 
    366371#if defined key_si3 
    367 ! Avoid a USE abl in icesbc module 
     372      ! Avoid a USE abl in icesbc module 
    368373      sf(jp_tair)%fnow(:,:,1) = tq_abl(:,:,2,nt_n,jp_ta);  sf(jp_humi)%fnow(:,:,1) = tq_abl(:,:,2,nt_n,jp_qa) 
    369374#endif  
Note: See TracChangeset for help on using the changeset viewer.