Ignore:
Timestamp:
May 27, 2025, 2:42:26 PM (3 weeks ago)
Author:
mmaurice
Message:

Generic PCM

Add check if a tracer's profile has already been initialized before initracer_1D. If it has, do not overwrite it to zero.

MM

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.GENERIC/libf/phystd/dyn1d/initracer_1D.F90

    r3753 r3781  
    6060
    6161    logical :: foundback = .false.
     62    logical :: dont_overwrite
    6263
    6364    ! initialization
     
    9192        ENDIF ! if modern or standard traceur.def
    9293    else
    93         write(*,*) "calchim: error opening traceur.def in initracer_1D"
     94        write(*,*) "initracer_1D: error opening traceur.def"
    9495        stop
    9596    endif
     
    139140            ! Opening file
    140141            fil = qxf(iq)
    141             print*, 'chemical profile '//trim(noms(iq))//': ', fil
     142            print*, 'tracer profile '//trim(noms(iq))//': ', fil
    142143            open(UNIT=90,FILE=fil,STATUS='old',iostat=ierr)
    143144            if (ierr.eq.0) then
     
    194195    ! convert vmr to mmr
    195196
    196     do ilay=1,nlayer
    197         do iq=1,nq
     197    do iq=1,nq
     198        dont_overwrite = .false.
     199        do ilay=1,nlayer
     200            if (pq(ilay,iq) /= 0.) then
     201                ! tracer has been previously initialized,
     202                ! we don't want to overwrite it to zero.
     203                dont_overwrite = .true.
     204                cycle
     205            end if
     206        end do
     207        if (dont_overwrite) cycle
     208        do ilay=1,nlayer
    198209            pq(ilay,iq) = pqx(ilay,iq)*mmol(iq)/mugaz
    199210        end do
Note: See TracChangeset for help on using the changeset viewer.