Changeset 5479 for LMDZ6


Ignore:
Timestamp:
Jan 16, 2025, 6:26:51 PM (4 hours ago)
Author:
yann meurdesoif
Message:

Optimization : setting array to 0 only at computed vertical level.
Very sensitive when running on gpu
YM

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/trunk/libf/phylmd/lmdz_cloudth.f90

    r5285 r5479  
    6969      REAL zpdf_a(ngrid),zpdf_b(ngrid),zpdf_e1(ngrid),zpdf_e2(ngrid)
    7070      REAL zqs(ngrid), qcloud(ngrid)
    71       REAL erf
    7271
    7372
     
    9190! Initialisation des variables r?elles
    9291!-------------------------------------------------------------------------------
    93       sigma1(:,:)=0.
    94       sigma2(:,:)=0.
    95       qlth(:,:)=0.
    96       qlenv(:,:)=0. 
    97       qltot(:,:)=0.
    98       rneb(:,:)=0.
     92      sigma1(:,ind2)=0.
     93      sigma2(:,ind2)=0.
     94      qlth(:,ind2)=0.
     95      qlenv(:,ind2)=0. 
     96      qltot(:,ind2)=0.
     97      rneb(:,ind2)=0.
    9998      qcloud(:)=0.
    100       cth(:,:)=0.
    101       cenv(:,:)=0.
    102       ctot(:,:)=0.
     99      cth(:,ind2)=0.
     100      cenv(:,ind2)=0.
     101      ctot(:,ind2)=0.
    103102      qsatmmussig1=0.
    104103      qsatmmussig2=0.
     
    317316      REAL zpdf_a(ngrid),zpdf_b(ngrid),zpdf_e1(ngrid),zpdf_e2(ngrid)
    318317      REAL zqs(ngrid), qcloud(ngrid)
    319       REAL erf
    320318
    321319!------------------------------------------------------------------------------
    322320! Initialisation des variables r?elles
    323321!------------------------------------------------------------------------------
    324       sigma1(:,:)=0.
    325       sigma2(:,:)=0.
    326       qlth(:,:)=0.
    327       qlenv(:,:)=0. 
    328       qltot(:,:)=0.
    329       rneb(:,:)=0.
     322      sigma1(:,ind2)=0.
     323      sigma2(:,ind2)=0.
     324      qlth(:,ind2)=0.
     325      qlenv(:,ind2)=0. 
     326      qltot(:,ind2)=0.
     327      rneb(:,ind2)=0.
    330328      qcloud(:)=0.
    331       cth(:,:)=0.
    332       cenv(:,:)=0.
    333       ctot(:,:)=0.
     329      cth(:,ind2)=0.
     330      cenv(:,ind2)=0.
     331      ctot(:,ind2)=0.
    334332      qsatmmussig1=0.
    335333      qsatmmussig2=0.
     
    644642      REAL zpdf_sig(ngrid),zpdf_k(ngrid),zpdf_delta(ngrid)
    645643      REAL zpdf_a(ngrid),zpdf_b(ngrid),zpdf_e1(ngrid),zpdf_e2(ngrid)
    646       REAL erf
    647644
    648645
     
    663660! Initialisation des variables r?elles
    664661!-------------------------------------------------------------------------------
    665       sigma1(:,:)=0.
    666       sigma2(:,:)=0.
    667       qlth(:,:)=0.
    668       qlenv(:,:)=0. 
    669       qltot(:,:)=0.
    670       rneb(:,:)=0.
     662      sigma1(:,ind2)=0.
     663      sigma2(:,ind2)=0.
     664      qlth(:,ind2)=0.
     665      qlenv(:,ind2)=0. 
     666      qltot(:,ind2)=0.
     667      rneb(:,ind2)=0.
    671668      qcloud(:)=0.
    672       cth(:,:)=0.
    673       cenv(:,:)=0.
    674       ctot(:,:)=0.
    675       cth_vol(:,:)=0.
    676       cenv_vol(:,:)=0.
    677       ctot_vol(:,:)=0.
     669      cth(:,ind2)=0.
     670      cenv(:,ind2)=0.
     671      ctot(:,ind2)=0.
     672      cth_vol(:,ind2)=0.
     673      cenv_vol(:,ind2)=0.
     674      ctot_vol(:,ind2)=0.
    678675      qsatmmussig1=0.
    679676      qsatmmussig2=0.
     
    878875      REAL zpdf_a(ngrid),zpdf_b(ngrid),zpdf_e1(ngrid),zpdf_e2(ngrid)
    879876      REAL zqs(ngrid), qcloud(ngrid)
    880       REAL erf
    881877
    882878      REAL rhodz(ngrid,klev)
     
    895891!------------------------------------------------------------------------------
    896892
    897       sigma1(:,:)=0.
    898       sigma2(:,:)=0.
    899       qlth(:,:)=0.
    900       qlenv(:,:)=0. 
    901       qltot(:,:)=0.
    902       rneb(:,:)=0.
     893      sigma1(:,ind2)=0.
     894      sigma2(:,ind2)=0.
     895      qlth(:,ind2)=0.
     896      qlenv(:,ind2)=0. 
     897      qltot(:,ind2)=0.
     898      rneb(:,ind2)=0.
    903899      qcloud(:)=0.
    904       cth(:,:)=0.
    905       cenv(:,:)=0.
    906       ctot(:,:)=0.
    907       cth_vol(:,:)=0.
    908       cenv_vol(:,:)=0.
    909       ctot_vol(:,:)=0.
     900      cth(:,ind2)=0.
     901      cenv(:,ind2)=0.
     902      ctot(:,ind2)=0.
     903      cth_vol(:,ind2)=0.
     904      cenv_vol(:,ind2)=0.
     905      ctot_vol(:,ind2)=0.
    910906      qsatmmussig1=0.
    911907      qsatmmussig2=0.
     
    13061302      REAL qcloud(ngrid) !eau totale dans le nuage
    13071303        !Some arithmetic variables
    1308       REAL erf,pi,sqrt2,sqrt2pi
     1304      REAL  pi,sqrt2,sqrt2pi
    13091305        !Depth of the layer
    13101306      REAL dz(ngrid,klev)    !epaisseur de la couche en metre
     
    13201316! Initialization
    13211317!------------------------------------------------------------------------------
    1322       qlth(:,:)=0.
    1323       qlenv(:,:)=0. 
    1324       qltot(:,:)=0.
    1325       cth_vol(:,:)=0.
    1326       cenv_vol(:,:)=0.
    1327       ctot_vol(:,:)=0.
    1328       cth_surf(:,:)=0.
    1329       cenv_surf(:,:)=0.
    1330       ctot_surf(:,:)=0.
     1318      qlth(:,ind2)=0.
     1319      qlenv(:,ind2)=0. 
     1320      qltot(:,ind2)=0.
     1321      cth_vol(:,ind2)=0.
     1322      cenv_vol(:,ind2)=0.
     1323      ctot_vol(:,ind2)=0.
     1324      cth_surf(:,ind2)=0.
     1325      cenv_surf(:,ind2)=0.
     1326      ctot_surf(:,ind2)=0.
    13311327      qcloud(:)=0.
    13321328      rdd=287.04
     
    15791575      REAL qlbef
    15801576      REAL dqsatenv(klon), dqsatth(klon)
    1581       REAL erf
    15821577      REAL zpdf_sig(klon),zpdf_k(klon),zpdf_delta(klon)
    15831578      REAL zpdf_a(klon),zpdf_b(klon),zpdf_e1(klon),zpdf_e2(klon)
Note: See TracChangeset for help on using the changeset viewer.