Ignore:
Timestamp:
Dec 19, 2025, 2:22:27 PM (12 days ago)
Author:
yann meurdesoif
Message:

For better GPUmorphosis parsing use "PUBLIC :: var" instead of "PUBLIC var"
merge of commit r5923
YM

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/trunk/libf/phylmd/pbl_surface_mod.F90

    r5970 r5977  
    10341034    REAL, DIMENSION(klon, klev, nbsrf) :: flux_u_x, flux_v_x, flux_u_w, flux_v_w
    10351035    REAL, DIMENSION(klon, nbsrf)       :: fluxlat_x, fluxlat_w
    1036 
     1036   
    10371037
    10381038
     
    10421042    INTEGER :: knon
    10431043    INTEGER :: ni(klon)
    1044 
     1044    REAL,  DIMENSION(:, :), ALLOCATABLE ::  ytemp00, ytemp01, ytemp02, ytemp03, ytemp04, ytemp05, ytemp06, ytemp07, ytemp08, ytemp09
     1045    REAL,  DIMENSION(:, :), ALLOCATABLE ::  ytemp10, ytemp11, ytemp12, ytemp13, ytemp14, ytemp15, ytemp16, ytemp17, ytemp18, ytemp19
     1046
     1047   
    10451048      IF (is_master) WRITE(lunout,*) "****************** CHECKSUM IN ****************************"
    10461049      CALL checksum("dtime", dtime)
     
    12681271      ENDIF
    12691272    ENDDO
     1273
     1274    ALLOCATE(ytemp00(knon,klev+1), ytemp01(knon,klev+1), ytemp02(knon,klev+1), ytemp03(knon,klev+1), ytemp04(knon,klev+1), ytemp05(knon,klev+1), ytemp06(knon,klev+1), ytemp07(knon,klev+1), ytemp08(knon,klev+1), ytemp09(knon,klev+1))
     1275    ALLOCATE(ytemp10(knon,klev+1), ytemp11(knon,klev+1), ytemp12(knon,klev+1), ytemp13(knon,klev+1), ytemp14(knon,klev+1), ytemp15(knon,klev+1), ytemp16(knon,klev+1), ytemp17(knon,klev+1), ytemp18(knon,klev+1), ytemp19(knon,klev+1))
     1276
    12701277   
    12711278    CALL pbl_surface_subsrf( nsrf, knon, ni(1:knon),  &
     
    13211328       pblt_w, therm_w, trmb1_w, trmb2_w, trmb3_w, pblh, plcl, capCL, oliqCL, cteiCL, pblT, &
    13221329       therm, trmb1, trmb2, trmb3, alb, snowerosion, iflag_split_ref, delp, d_t_diss_x, d_t_diss_w, flux_t_x, flux_q_x, flux_t_w, flux_q_w,&
    1323        flux_u_x, flux_v_x, flux_u_w, flux_v_w, fluxlat_x, fluxlat_w)
     1330       flux_u_x, flux_v_x, flux_u_w, flux_v_w, fluxlat_x, fluxlat_w, &
     1331       ytemp00, ytemp01, ytemp02, ytemp03, ytemp04, ytemp05, ytemp06, ytemp07, ytemp08, ytemp09,&
     1332       ytemp10, ytemp11, ytemp12, ytemp13, ytemp14, ytemp15, ytemp16, ytemp17, ytemp18, ytemp19)
     1333
    13241334 
    13251335  ENDDO
     1336 
     1337  DEALLOCATE(ytemp00, ytemp01, ytemp02, ytemp03, ytemp04, ytemp05, ytemp06, ytemp07, ytemp08, ytemp09)
     1338  DEALLOCATE(ytemp10, ytemp11, ytemp12, ytemp13, ytemp14, ytemp15, ytemp16, ytemp17, ytemp18, ytemp19)
    13261339
    13271340  CALL pbl_surface_uncompressed_post( &
     
    23562369       therm, trmb1, trmb2, trmb3, alb, snowerosion, iflag_split_ref, &
    23572370       delp, d_t_diss_x, d_t_diss_w, flux_t_x, flux_q_x, flux_t_w, flux_q_w,&
    2358        flux_u_x, flux_v_x, flux_u_w, flux_v_w, fluxlat_x, fluxlat_w)
    2359 !$gpum horizontal knon
     2371       flux_u_x, flux_v_x, flux_u_w, flux_v_w, fluxlat_x, fluxlat_w, &
     2372       ytemp00, ytemp01, ytemp02, ytemp03, ytemp04, ytemp05, ytemp06, ytemp07, ytemp08, ytemp09,&
     2373       ytemp10, ytemp11, ytemp12, ytemp13, ytemp14, ytemp15, ytemp16, ytemp17, ytemp18, ytemp19)
     2374!$gpum horizontal knon klon
    23602375
    23612376
     
    29542969    REAL, DIMENSION(knon) :: yzxtsol     ! temperature at surface
    29552970    REAL, DIMENSION(knon)                   :: ypblh_tmp ! temporaire pblh compressed
     2971    REAL, DIMENSION(knon) :: zgeo1_over_RG
    29562972#ifdef ISO
    29572973    REAL, DIMENSION(knon)       :: h1
    29582974    INTEGER                     :: ixt
    29592975#endif
     2976
     2977    REAL, INTENT(OUT), DIMENSION(knon, klev+1) ::  ytemp00, ytemp01, ytemp02, ytemp03, ytemp04, ytemp05, ytemp06, ytemp07, ytemp08, ytemp09
     2978    REAL, INTENT(OUT), DIMENSION(knon, klev+1) ::  ytemp10, ytemp11, ytemp12, ytemp13, ytemp14, ytemp15, ytemp16, ytemp17, ytemp18, ytemp19
     2979   
     2980   ytemp00=0 ; ytemp01=0 ; ytemp02=0 ; ytemp03=0 ; ytemp04=0 ; ytemp05=0 ; ytemp06=0 ; ytemp07=0 ; ytemp08=0 ; ytemp09=0
     2981   ytemp10=0 ; ytemp11=0 ; ytemp12=0 ; ytemp13=0 ; ytemp14=0 ; ytemp15=0 ; ytemp16=0 ; ytemp17=0 ; ytemp18=0 ; ytemp19=0
     2982
     2983!$gpum nocall checksum
     2984
    29602985      IF (using_xios) THEN
    29612986        missing_val=missing_val_xios
     
    33123337            ENDDO
    33133338            !
    3314 
    3315             CALL eff_surf_param(knon, nbtersrf, yz0m_tersrf, yfrac_tersrf, 'CDN', yz0m, zgeo1/RG)
    3316             CALL eff_surf_param(knon, nbtersrf, yz0h_tersrf, yfrac_tersrf, 'CDN', yz0h, zgeo1/RG)
     3339            zgeo1_over_RG(1:knon) = zgeo1(1:knon)/RG
     3340            CALL eff_surf_param(knon, nbtersrf, yz0m_tersrf, yfrac_tersrf, 'CDN', yz0m, zgeo1_over_RG)
     3341            CALL eff_surf_param(knon, nbtersrf, yz0h_tersrf, yfrac_tersrf, 'CDN', yz0h, zgeo1_over_RG)
    33173342            !
    33183343          ENDIF
     
    39904015
    39914016        end if
    3992 
     4017           zgeo1_over_RG(1:knon) = zgeo1(1:knon)/RG
    39934018           CALL surf_ocean(rlon, rlat, ysolsw, ysollw, yalb_vis, &
    39944019               ywindsp, yrmu0, yfder, yts, &
    39954020               itap, dtime, jour, knon, ni, &
    3996                ypplay(:,1), zgeo1(1:knon)/RG, ycdragh, ycdragm, yrain_f, ysnow_f, ybs_f, yt(:,1), yq(:,1),&    ! ym missing init
     4021               ypplay(:,1), zgeo1_over_RG, ycdragh, ycdragm, yrain_f, ysnow_f, ybs_f, yt(:,1), yq(:,1),&    ! ym missing init
    39974022               AcoefH, AcoefQ, BcoefH, BcoefQ, &
    39984023               AcoefU, AcoefV, BcoefU, BcoefV, &
     
    40114036#endif               
    40124037         &      )
    4013 !$gpum nocall
     4038
    40144039           CALL checksum("yalb_dir_new_ocean",yalb_dir_new(1:knon,:))
    40154040      IF (prt_level >=10) THEN
Note: See TracChangeset for help on using the changeset viewer.