Ignore:
Timestamp:
May 20, 2015, 3:27:07 PM (9 years ago)
Author:
Ehouarn Millour
Message:
  • fix in dyn3d the array out of bound issue (in qminimum) that was only corrected in dyn3dmem in rev 2285.
  • comment out many invasive debug writes.

EM

Location:
LMDZ5/trunk/libf/dyn3dmem
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • LMDZ5/trunk/libf/dyn3dmem/advtrac_loc.F

    r2270 r2286  
    155155c$OMP BARRIER
    156156                 
    157           write(*,*) 'advtrac 157: appel de vlspltgen_loc'
     157          !write(*,*) 'advtrac 157: appel de vlspltgen_loc'
    158158          call vlspltgen_loc( q,iadv, 2., massem, wg ,
    159159     *                        pbarug,pbarvg,dtvr,p,
    160160     *                        pk,teta )
    161161
    162           write(*,*) 'advtrac 162: apres appel vlspltgen_loc'
     162          !write(*,*) 'advtrac 162: apres appel vlspltgen_loc'
    163163      if (ok_iso_verif) then
    164164           call check_isotopes(q,ijb_u,ije_u,'advtrac 162')
  • LMDZ5/trunk/libf/dyn3dmem/caladvtrac_loc.F

    r2270 r2286  
    5656!$OMP THREADPRIVATE(Request_vanleer)
    5757
    58       write(*,*) 'caladvtrac 58: entree'     
     58      !write(*,*) 'caladvtrac 58: entree'     
    5959      ijbu=ij_begin
    6060      ijeu=ij_end
     
    109109
    110110      IF ( iadvtr.EQ.iapp_tracvl ) THEN
    111       write(*,*) 'caladvtrac 133'
     111      !write(*,*) 'caladvtrac 133'
    112112c$OMP MASTER
    113113        call suspend_timer(timer_caldyn)
     
    184184         CALL WriteField_u('wg1',wg_adv)
    185185#endif       
    186       write(*,*) 'caladvtrac 185' 
     186      !write(*,*) 'caladvtrac 185' 
    187187      CALL advtrac_loc( pbarug_adv,pbarvg_adv,wg_adv,
    188188     *             p_adv,  massem_adv,q_adv, teta_adv,
    189189     .             pk_adv)     
    190       write(*,*) 'caladvtrac 189'
     190      !write(*,*) 'caladvtrac 189'
    191191
    192192
  • LMDZ5/trunk/libf/dyn3dmem/integrd_loc.F

    r2281 r2286  
    164164c$OMP END MASTER
    165165c$OMP BARRIER
    166         write(*,*) 'integrd 170'
     166        !write(*,*) 'integrd 170'
    167167      IF (.NOT. Checksum_all) THEN
    168168        call WriteField_v('int_vcov',vcov)
     
    194194       
    195195c
    196         write(*,*) 'integrd 200'
     196        !write(*,*) 'integrd 200'
    197197C$OMP MASTER
    198198      if (pole_nord) THEN
     
    285285c
    286286c
    287         write(*,*) 'integrd 291'
     287        !write(*,*) 'integrd 291'
    288288      IF (pole_nord) THEN
    289289       
     
    352352        endif !if (ok_iso_verif) then
    353353
    354         write(*,*) 'integrd 341'
     354        !write(*,*) 'integrd 341'
    355355        CALL qminimum_loc( q, nq, deltap )
    356         write(*,*) 'integrd 343'
     356        !write(*,*) 'integrd 343'
    357357
    358358        if (ok_iso_verif) then
  • LMDZ5/trunk/libf/dyn3dmem/leapfrog_loc.F

    r2270 r2286  
    308308
    309309   1  CONTINUE ! Matsuno Forward step begins here
    310       write(*,*) 'leapfrog 298: itau=',itau
     310      !write(*,*) 'leapfrog 298: itau=',itau
    311311      jD_cur = jD_ref + day_ini - day_ref +                             &
    312312     &          itau/day_step
     
    713713      IF( forward. OR . leapf )  THEN
    714714! Ehouarn: NB: fields sent to advtrac are those at the beginning of the time step
    715         write(*,*) 'leapfrog 679: avant CALL caladvtrac_loc'
     715        !write(*,*) 'leapfrog 679: avant CALL caladvtrac_loc'
    716716         CALL caladvtrac_loc(q,pbaru,pbarv,
    717717     *        p, masse, dq,  teta,
    718718     .        flxw,pk, iapptrac)
    719719
    720          write(*,*) 'leapfrog 719'
     720         !write(*,*) 'leapfrog 719'
    721721         if (ok_iso_verif) then
    722722           call check_isotopes(q,ijb_u,ije_u,
     
    755755!       CALL FTRACE_REGION_BEGIN("integrd")
    756756
    757        write(*,*) 'leapfrog 720'
     757       !write(*,*) 'leapfrog 720'
    758758        if (ok_iso_verif) then
    759759           call check_isotopes(q,ijb_u,ije_u,'leapfrog 756')
     
    765765!     $              finvmaold                                    )
    766766
    767        write(*,*) 'leapfrog 724'       
     767       !write(*,*) 'leapfrog 724'       
    768768        if (ok_iso_verif) then
    769769           call check_isotopes(q,ijb_u,ije_u,'leapfrog 762')
     
    11481148           call check_isotopes(q,ijb_u,ije_u,'leapfrog 1132')
    11491149        endif !if (ok_iso_verif) then
    1150         write(*,*) 'leapfrog 1134: iflag_phys=',iflag_phys
     1150        !write(*,*) 'leapfrog 1134: iflag_phys=',iflag_phys
    11511151
    11521152      IF(iflag_phys.EQ.2) THEN ! "Newtonian" case
     
    12211221c   dissipation horizontale et verticale  des petites echelles:
    12221222c   ----------------------------------------------------------
    1223       write(*,*) 'leapfrog 1163: apdiss=',apdiss
     1223      !write(*,*) 'leapfrog 1163: apdiss=',apdiss
    12241224      IF(apdiss) THEN
    12251225     
  • LMDZ5/trunk/libf/dyn3dmem/qminimum_loc.F

    r2285 r2286  
    5050c
    5151
    52         write(*,*) 'qminimum 52: entree'
     52        !write(*,*) 'qminimum 52: entree'
    5353        if (ok_iso_verif) then
    5454           call check_isotopes(q,ij_begin,ij_end,'qminimum 52')   
  • LMDZ5/trunk/libf/dyn3dmem/vlsplt_loc.F

    r2281 r2286  
    5656      INTEGER ijb,ije,ijb_x,ije_x
    5757     
    58       write(*,*) 'vlsplt 58: entree dans vlx_loc, iq,ijb_x=',
    59      &   iq,ijb_x
     58      !write(*,*) 'vlsplt 58: entree dans vlx_loc, iq,ijb_x=',
     59!     &   iq,ijb_x
    6060c   calcul de la pente a droite et a gauche de la maille
    6161
     
    154154      ENDIF ! (pente_max.lt.-1.e-5)
    155155
    156       write(*,*) 'vlx 156: iq,ijb_x=',iq,ijb_x
     156      !write(*,*) 'vlx 156: iq,ijb_x=',iq,ijb_x
    157157
    158158c   bouclage de la pente en iip1:
     
    273273               ENDDO
    274274               niju=iju
    275                PRINT*,'vlx 278, niju,nl',niju,nl(l)
     275               !PRINT*,'vlx 278, niju,nl',niju,nl(l)
    276276
    277277c  traitement des mailles
     
    331331! Il faut faire ça avant d'avoir mis à jour q et masse
    332332
    333       write(*,*) 'vlsplt 326: iq,ijb_x,nqfils(iq)=',iq,ijb_x,nqfils(iq)
     333      !write(*,*) 'vlsplt 326: iq,ijb_x,nqfils(iq)=',iq,ijb_x,nqfils(iq)
    334334
    335335      if (nqfils(iq).gt.0) then 
     
    354354! end CRisi
    355355
    356       write(*,*) 'vlsplt 360: iq,ijb_x=',iq,ijb_x
     356      !write(*,*) 'vlsplt 360: iq,ijb_x=',iq,ijb_x
    357357
    358358c   calcul des tENDances
     
    373373      ENDDO
    374374c$OMP END DO NOWAIT
    375       write(*,*) 'vlsplt 380: iq,ijb_x=',iq,ijb_x
     375      !write(*,*) 'vlsplt 380: iq,ijb_x=',iq,ijb_x
    376376
    377377! retablir les fils en rapport de melange par rapport a l'air:
     
    394394      endif !if (nqfils(iq).gt.0) then
    395395
    396       write(*,*) 'vlsplt 399: iq,ijb_x=',iq,ijb_x
     396      !write(*,*) 'vlsplt 399: iq,ijb_x=',iq,ijb_x
    397397c     CALL SCOPY((jjm-1)*llm,q(iip1+iip1,1),iip1,q(iip2,1),iip1)
    398398c     CALL SCOPY((jjm-1)*llm,masse(iip1+iip1,1),iip1,masse(iip2,1),iip1)
     
    726726! CRisi: appel récursif de l'advection sur les fils.
    727727! Il faut faire ça avant d'avoir mis à jour q et masse
    728       write(*,*) 'vly 689: iq,nqfils(iq)=',iq,nqfils(iq)
     728      !write(*,*) 'vly 689: iq,nqfils(iq)=',iq,nqfils(iq)
    729729
    730730      ijb=ij_begin-2*iip1
     
    926926c    sens de W
    927927
    928       write(*,*) 'vlsplt 926: entree dans vlz_loc, iq=',iq
     928      !write(*,*) 'vlsplt 926: entree dans vlz_loc, iq=',iq
    929929#ifdef BIDON
    930930      IF(testcpu) THEN
     
    982982c calcul de  - d( q   * w )/ d(sigma)    qu'on ajoute a  dq pour calculer dq
    983983
    984        write(*,*) 'vlz 982,ijb,ije=',ijb,ije
     984       !write(*,*) 'vlz 982,ijb,ije=',ijb,ije
    985985c$OMP DO SCHEDULE(STATIC,OMP_CHUNK)
    986986       DO l = 1,llm-1
     
    998998       ENDDO
    999999c$OMP END DO NOWAIT   
    1000        write(*,*) 'vlz 1001'   
     1000       !write(*,*) 'vlz 1001'   
    10011001
    10021002c$OMP MASTER
     
    10101010! CRisi: appel récursif de l'advection sur les fils.
    10111011! Il faut faire ça avant d'avoir mis à jour q et masse
    1012       write(*,*) 'vlsplt 942: iq,nqfils(iq)=',iq,nqfils(iq)
     1012      !write(*,*) 'vlsplt 942: iq,nqfils(iq)=',iq,nqfils(iq)
    10131013      if (nqfils(iq).gt.0) then 
    10141014       do ifils=1,nqdesc(iq)
  • LMDZ5/trunk/libf/dyn3dmem/vlspltgen_loc.F

    r2281 r2286  
    202202!      DO iq=1,nqtot
    203203      DO iq=1,nqperes ! CRisi: on ne boucle que sur les pères= ceux qui sont transportés directement par l'air
    204        write(*,*) 'vlspltgen 192: iq,iadv=',iq,iadv(iq)
     204       !write(*,*) 'vlspltgen 192: iq,iadv=',iq,iadv(iq)
    205205#ifdef DEBUG_IO   
    206206       CALL WriteField_u('zq',zq(:,:,iq))
     
    298298
    299299      do iq=1,nqperes
    300         write(*,*) 'vlspltgen 279: iq=',iq
     300        !write(*,*) 'vlspltgen 279: iq=',iq
    301301
    302302        if(iadv(iq) == 0) then
     
    351351
    352352      do iq=1,nqperes
    353        write(*,*) 'vlspltgen 321: iq=',iq
     353       !write(*,*) 'vlspltgen 321: iq=',iq
    354354#ifdef DEBUG_IO   
    355355       CALL WriteField_u('zq',zq(:,:,iq))
     
    383383
    384384      do iq=1,nqperes
    385       write(*,*) 'vlspltgen 349: iq=',iq
     385      !write(*,*) 'vlspltgen 349: iq=',iq
    386386#ifdef DEBUG_IO   
    387387       CALL WriteField_u('zq',zq(:,:,iq))
     
    448448c$OMP BARRIER
    449449      do iq=1,nqperes
    450       write(*,*) 'vlspltgen 409: iq=',iq
     450      !write(*,*) 'vlspltgen 409: iq=',iq
    451451
    452452        if(iadv(iq) == 0) then
     
    470470     
    471471      enddo
    472       write(*,*) 'vlspltgen_loc 476'
    473 
    474 c$OMP BARRIER
    475       write(*,*) 'vlspltgen_loc 477'
     472      !write(*,*) 'vlspltgen_loc 476'
     473
     474c$OMP BARRIER
     475      !write(*,*) 'vlspltgen_loc 477'
    476476c$OMP MASTER
    477477      call VTb(VTHallo)
     
    489489
    490490
    491       write(*,*) 'vlspltgen_loc 494'
     491      !write(*,*) 'vlspltgen_loc 494'
    492492      if (ok_iso_verif) then
    493493           call check_isotopes(zq,ij_begin,ij_end,'vlspltgen_loc 461')
     
    495495
    496496      do iq=1,nqperes
    497       write(*,*) 'vlspltgen 449: iq=',iq
     497      !write(*,*) 'vlspltgen 449: iq=',iq
    498498#ifdef DEBUG_IO   
    499499       CALL WriteField_u('zq',zq(:,:,iq))
     
    526526
    527527      do iq=1,nqperes
    528       write(*,*) 'vlspltgen 477: iq=',iq
     528      !write(*,*) 'vlspltgen 477: iq=',iq
    529529#ifdef DEBUG_IO   
    530530       CALL WriteField_u('zq',zq(:,:,iq))
     
    553553       enddo !do iq=1,nqperes
    554554
    555       write(*,*) 'vlspltgen 550: apres derniere serie de call vlx'
     555      !write(*,*) 'vlspltgen 550: apres derniere serie de call vlx'
    556556      if (ok_iso_verif) then
    557557           call check_isotopes(zq,ij_begin,ij_end,'vlspltgen_loc 521')
     
    560560      ijb=ij_begin
    561561      ije=ij_end
    562       write(*,*) 'vlspltgen_loc 557'
     562      !write(*,*) 'vlspltgen_loc 557'
    563563c$OMP BARRIER     
    564564
    565       write(*,*) 'vlspltgen_loc 559' 
     565      !write(*,*) 'vlspltgen_loc 559' 
    566566      DO iq=1,nqtot
    567        write(*,*) 'vlspltgen_loc 561, iq=',iq 
     567       !write(*,*) 'vlspltgen_loc 561, iq=',iq 
    568568#ifdef DEBUG_IO   
    569569       CALL WriteField_u('zq',zq(:,:,iq))
     
    579579        ENDDO
    580580c$OMP END DO NOWAIT   
    581       write(*,*) 'vlspltgen_loc 575'     
     581      !write(*,*) 'vlspltgen_loc 575'     
    582582
    583583c$OMP DO SCHEDULE(STATIC,OMP_CHUNK)
     
    588588        ENDDO
    589589c$OMP END DO NOWAIT 
    590       write(*,*) 'vlspltgen_loc 583' 
     590      !write(*,*) 'vlspltgen_loc 583' 
    591591      ENDDO !DO iq=1,nqtot
    592592       
     
    603603cc$OMP BARRIER
    604604
    605       write(*,*) 'vlspltgen 597: sortie' 
     605      !write(*,*) 'vlspltgen 597: sortie' 
    606606      RETURN
    607607      END
  • LMDZ5/trunk/libf/dyn3dmem/vlspltqs_loc.F

    r2281 r2286  
    4747      INTEGER ijb,ije,ijb_x,ije_x
    4848     
    49       write(*,*) 'vlspltqs 58: entree vlxqs_loc, iq,ijb_x=',
    50      &   iq,ijb_x
     49      !write(*,*) 'vlspltqs 58: entree vlxqs_loc, iq,ijb_x=',
     50!     &   iq,ijb_x
    5151
    5252c   calcul de la pente a droite et a gauche de la maille
     
    280280               ENDDO
    281281               niju=iju
    282                PRINT*,'vlxqs 280: niju,nl',niju,nl(l)
     282               !PRINT*,'vlxqs 280: niju,nl',niju,nl(l)
    283283
    284284c  traitement des mailles
     
    336336! CRisi: appel récursif de l'advection sur les fils.
    337337! Il faut faire ça avant d'avoir mis à jour q et masse
    338       write(*,*) 'vlspltqs 336: iq,ijb_x,nqfils(iq)=',
    339      &     iq,ijb_x,nqfils(iq) 
     338      !write(*,*) 'vlspltqs 336: iq,ijb_x,nqfils(iq)=',
     339!     &     iq,ijb_x,nqfils(iq) 
    340340
    341341      if (nqfils(iq).gt.0) then 
     
    353353        do ifils=1,nqfils(iq)
    354354         iq2=iqfils(ifils,iq)
    355          write(*,*) 'vlxqs 349: on appelle vlx pour iq2=',iq2
     355         !write(*,*) 'vlxqs 349: on appelle vlx pour iq2=',iq2
    356356         call vlx_loc(Ratio,pente_max,masse,u_mq,ijb_x,ije_x,iq2)
    357357        enddo !do ifils=1,nqfils(iq)
     
    359359! end CRisi
    360360
    361       write(*,*) 'vlspltqs 360: iq,ijb_x=',iq,ijb_x   
     361      !write(*,*) 'vlspltqs 360: iq,ijb_x=',iq,ijb_x   
    362362
    363363c   calcul des tendances
     
    379379c$OMP END DO NOWAIT
    380380
    381       write(*,*) 'vlspltqs 380: iq,ijb_x=',iq,ijb_x
     381      !write(*,*) 'vlspltqs 380: iq,ijb_x=',iq,ijb_x
    382382
    383383! retablir les fils en rapport de melange par rapport a l'air:
     
    398398      endif !if (nqfils(iq).gt.0) then
    399399
    400       write(*,*) 'vlspltqs 399: iq,ijb_x=',iq,ijb_x
     400      !write(*,*) 'vlspltqs 399: iq,ijb_x=',iq,ijb_x
    401401
    402402c     CALL SCOPY((jjm-1)*llm,q(iip1+iip1,1),iip1,q(iip2,1),iip1)
     
    477477      l=3
    478478      if ((ij.ge.ijb).and.(ij.le.ije)) then
    479         write(*,*) 'vlyqs 480: ij,l,iq,ijb,q(ij,l,:)=',
    480      &             ij,l,iq,ijb,q(ij,l,:)
     479        !write(*,*) 'vlyqs 480: ij,l,iq,ijb,q(ij,l,:)=',
     480!     &             ij,l,iq,ijb,q(ij,l,:)
    481481      endif 
    482482
     
    725725! CRisi: appel récursif de l'advection sur les fils.
    726726! Il faut faire ça avant d'avoir mis à jour q et masse
    727       write(*,*) 'vlyqs 689: iq,nqfils(iq)=',iq,nqfils(iq)
     727      !write(*,*) 'vlyqs 689: iq,nqfils(iq)=',iq,nqfils(iq)
    728728     
    729729      ijb=ij_begin-2*iip1
Note: See TracChangeset for help on using the changeset viewer.