Ignore:
Timestamp:
Dec 26, 2021, 10:27:36 PM (4 years ago)
Author:
dcugnet
Message:

Fixes for previous commit:

  • few tracers(:)%nqChilds were errouneously replaced with tarcers(:)%nqDesc
  • minor changes
Location:
LMDZ6/trunk/libf/dyn3dmem
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/trunk/libf/dyn3dmem/dynetat0_loc.F90

    r4050 r4052  
    174174   !           Rayleigh distillation las.
    175175    iName = tracers(iq)%iso_iName
     176    IF(.NOT.ok_isotopes .OR. iName <= 0) CYCLE
    176177    iZone = tracers(iq)%iso_iZone
    177178    iPhase= tracers(iq)%iso_iPhase
    178179    iqParent = tracers(iq)%iqParent
    179     IF(ok_isotopes .AND. iName>0) THEN
    180       IF(iZone==0) q(:,:,iq) = q(:,:,iqParent)*tnat(iName)    &
    181      &           *(q(:,:,iqParent)/30.e-3)**(alpha_ideal(iName)-1.)
    182       IF(iZone==1) q(:,:,iq) = q(:,:,iqiso(iso_indnum(iq),iPhase))
    183     END IF
     180    IF(iZone==0) q(:,:,iq) = q(:,:,iqParent)*tnat(iName)    &
     181     &         *(q(:,:,iqParent)/30.e-3)**(alpha_ideal(iName)-1.)
     182    IF(iZone==1) q(:,:,iq) = q(:,:,iqiso(iso_indnum(iq),iPhase))
    184183  END DO
    185184  DEALLOCATE(q_glo)
  • LMDZ6/trunk/libf/dyn3dmem/iniacademic_loc.F90

    r4050 r4052  
    284284           do iq=1,nqtot
    285285              q(ijb_u:ije_u,:,iq)=0.
     286!              IF(tracers(iq)%name == 'H2O'//Phases_sep//'g') q(ijb_u:ije_u,:,iq)=1.e-10
     287!              IF(tracers(iq)%name == 'H2O'//phases_sep//'l') q(ijb_u:ije_u,:,iq)=1.e-15
    286288              if (tracers(iq)%name == 'H2Ov') q(ijb_u:ije_u,:,iq)=1.e-10
    287289              if (tracers(iq)%name == 'H2Ol') q(ijb_u:ije_u,:,iq)=1.e-15
     
    290292              ! distill de Rayleigh très simplifiée
    291293              iName = tracers(iq)%iso_iName
     294              if (.NOT.ok_isotopes .OR. iName <= 0) CYCLE
    292295              iZone = tracers(iq)%iso_iZone
    293296              iPhase= tracers(iq)%iso_iPhase
    294297              iqParent = tracers(iq)%iqParent
    295               if (ok_isotopes .AND. iName > 0) then
    296                 if (iZone == 0) q(ijb_u:ije_u,:,iq) = q(ijb_u:ije_u,:,iqParent)*tnat(iName) &
    297                                                     *(q(ijb_u:ije_u,:,iqParent)/30.e-3)**(alpha_ideal(iName)-1)
    298                 if (iZone == 1) q(ijb_u:ije_u,:,iq) = q(ijb_u:ije_u,:,iqiso(iso_indnum(iq),iPhase))
    299               endif !if (ok_isotopes) then
    300 
     298              if (iZone == 0) q(ijb_u:ije_u,:,iq) = q(ijb_u:ije_u,:,iqParent)*tnat(iName) &
     299                                                  *(q(ijb_u:ije_u,:,iqParent)/30.e-3)**(alpha_ideal(iName)-1)
     300              if (iZone == 1) q(ijb_u:ije_u,:,iq) = q(ijb_u:ije_u,:,iqiso(iso_indnum(iq),iPhase))
    301301           enddo
    302302        else
  • LMDZ6/trunk/libf/dyn3dmem/vlsplt_loc.F

    r4050 r4052  
    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,nqDesc(iq)=',iq,tracers(iq)%nqDescen
     728      !write(*,*) 'vly 689: iq,nqChilds(iq)=',iq,tracers(iq)%nqChilds
    729729
    730730      ijb=ij_begin-2*iip1
  • LMDZ6/trunk/libf/dyn3dmem/vlspltgen_loc.F

    r4050 r4052  
    346346        SELECT CASE(tracers(iq)%iadv)
    347347          CASE(0); CYCLE
    348           CASE(10); call vly_loc(zq,pente_max,zm,mv,iq)
     348          CASE(10); call   vly_loc(zq,pente_max,zm,mv,     iq)
    349349          CASE(14); call vlyqs_loc(zq,pente_max,zm,mv,qsat,iq)
    350350          CASE DEFAULT
  • LMDZ6/trunk/libf/dyn3dmem/vlspltqs_loc.F

    r4050 r4052  
    264264c$OMP END DO NOWAIT
    265265
    266 cym ATTENTION ICI en OpenMP reduction pas forcement nécessaire
     266cym ATTENTION ICI en OpenMP reduction pas forcement necessaire
    267267cym      IF(n0.gt.1) THEN
    268268cym        IF(n0.gt.0) THEN
     
    335335c$OMP END DO NOWAIT
    336336
    337 ! CRisi: appel récursif de l'advection sur les fils.
    338 ! Il faut faire ça avant d'avoir mis à jour q et masse
    339       !write(*,*) 'vlspltqs 336: iq,ijb_x,iqDescen(iq)=',
    340 !     &     iq,ijb_x,tracers(iq)%iqDescen 
     337! CRisi: appel recursif de l'advection sur les fils.
     338! Il faut faire ca avant d'avoir mis a jour q et masse
     339      !write(*,*) 'vlspltqs 336: iq,ijb_x,nqChilds(iq)=',
     340!     &     iq,ijb_x,tracers(iq)%nqChilds
    341341
    342342      do ifils=1,tracers(iq)%nqDescen
     
    356356c$OMP END DO NOWAIT
    357357      enddo
    358       do ifils=1,tracers(iq)%nqDescen
     358      do ifils=1,tracers(iq)%nqChilds
    359359        iq2=tracers(iq)%iqDescen(ifils)
    360360        !write(*,*) 'vlxqs 349: on appelle vlx pour iq2=',iq2
     
    727727c$OMP END DO NOWAIT
    728728
    729 ! CRisi: appel récursif de l'advection sur les fils.
    730 ! Il faut faire ça avant d'avoir mis à jour q et masse
    731       !write(*,*) 'vlyqs 689: iq,iqDescen(iq)=',iq,tracers(iq)%iqDescen
     729! CRisi: appel recursif de l'advection sur les fils.
     730! Il faut faire ca avant d'avoir mis a jour q et masse
     731      !write(*,*) 'vlyqs 689: iq,nqChilds(iq)=',iq,tracers(iq)%nqChilds
    732732     
    733733      ijb=ij_begin-2*iip1
     
    748748        DO l=1,llm
    749749          ! modif des bornes: CRisi 16 nov 2020
    750           ! d'abord masse avec bornes corrigées
     750          ! d'abord masse avec bornes corrigees
    751751          DO ij=ijbm,ijem
    752752            !MVals: veiller a ce qu'on n'ait pas de denominateur nul
     
    767767c$OMP END DO NOWAIT
    768768      enddo
    769       do ifils=1,tracers(iq)%nqDescen
     769      do ifils=1,tracers(iq)%nqChilds
    770770        iq2=tracers(iq)%iqDescen(ifils)
    771771        !write(lunout,*) 'vly: appel recursiv vly iq2=',iq2
Note: See TracChangeset for help on using the changeset viewer.