Ignore:
Timestamp:
Jul 13, 2016, 4:29:03 PM (9 years ago)
Author:
emillour
Message:

All GCMs:
Further adaptations to keep up with changes in LMDZ5 concerning
physics/dynamics separation (up to rev r2575 of LMDZ5)

  • dyn3d_common:
  • infotrac.F90 : propagate initialisations for INCA (Earth GCM)
  • misc:
  • wxios.F90: updates to use the XIOS2 library
  • dynphy_lonlat:
  • grid_atob_m.F90: fix for some zoomed grid interpolation cases

EM

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.COMMON/libf/dyn3d_common/infotrac.F90

    r1549 r1575  
    8686    INTEGER, ALLOCATABLE, DIMENSION(:) :: hadv  ! index of horizontal trasport schema
    8787    INTEGER, ALLOCATABLE, DIMENSION(:) :: vadv  ! index of vertical trasport schema
     88
     89    INTEGER, ALLOCATABLE, DIMENSION(:) :: hadv_inca  ! index of horizontal trasport schema
     90    INTEGER, ALLOCATABLE, DIMENSION(:) :: vadv_inca  ! index of vertical trasport schema
    8891
    8992    CHARACTER(len=15), ALLOCATABLE, DIMENSION(:) :: tnom_0  ! tracer short name
     
    196199#endif
    197200       nqtrue=nbtr+nqo
     201
     202       ALLOCATE(hadv_inca(nbtr), vadv_inca(nbtr))
     203
    198204     END IF   ! type_trac
    199205
     
    375381!>jyg
    376382! le module de chimie fournit les noms des traceurs
    377 ! et les schemas d'advection associes.
     383! et les schemas d'advection associes. excepte pour ceux lus
     384! dans traceur.def
     385       IF (ierr .eq. 0) then
     386          DO iq=1,nqo
     387
     388             write(*,*) 'infotrac 237: iq=',iq
     389             ! CRisi: ajout du nom du fluide transporteur
     390             ! mais rester retro compatible
     391             READ(90,'(I2,X,I2,X,A)',IOSTAT=IOstatus) hadv(iq),vadv(iq),tchaine
     392             write(lunout,*) 'iq,hadv(iq),vadv(iq)=',iq,hadv(iq),vadv(iq)
     393             write(lunout,*) 'tchaine=',trim(tchaine)
     394             write(*,*) 'infotrac 238: IOstatus=',IOstatus
     395             if (IOstatus.ne.0) then
     396                CALL abort_gcm('infotrac_init','Pb dans la lecture de traceur.def',1)
     397             endif
     398             ! Y-a-t-il 1 ou 2 noms de traceurs? -> On regarde s'il y a un
     399             ! espace ou pas au milieu de la chaine.
     400             continu=.true.
     401             nouveau_traceurdef=.false.
     402             iiq=1
     403             do while (continu)
     404                if (tchaine(iiq:iiq).eq.' ') then
     405                  nouveau_traceurdef=.true.
     406                  continu=.false.
     407                else if (iiq.lt.LEN_TRIM(tchaine)) then
     408                  iiq=iiq+1
     409                else
     410                  continu=.false.
     411                endif
     412             enddo
     413             write(*,*) 'iiq,nouveau_traceurdef=',iiq,nouveau_traceurdef
     414             if (nouveau_traceurdef) then
     415                write(lunout,*) 'C''est la nouvelle version de traceur.def'
     416                tnom_0(iq)=tchaine(1:iiq-1)
     417                tnom_transp(iq)=tchaine(iiq+1:15)
     418             else
     419                write(lunout,*) 'C''est l''ancienne version de traceur.def'
     420                write(lunout,*) 'On suppose que les traceurs sont tous d''air'
     421                tnom_0(iq)=tchaine
     422                tnom_transp(iq) = 'air'
     423             endif
     424             write(lunout,*) 'tnom_0(iq)=<',trim(tnom_0(iq)),'>'
     425             write(lunout,*) 'tnom_transp(iq)=<',trim(tnom_transp(iq)),'>'
     426
     427          END DO !DO iq=1,nqtrue
     428          CLOSE(90) 
     429       ELSE  !! if traceur.def doesn't exist
     430          tnom_0(1)='H2Ov'
     431          tnom_transp(1) = 'air'
     432          tnom_0(2)='H2Ol'
     433          tnom_transp(2) = 'air'
     434          hadv(1) = 10
     435          hadv(2) = 10
     436          vadv(1) = 10
     437          vadv(2) = 10
     438       ENDIF
    378439     
    379440#ifdef INCA
    380441       CALL init_transport( &
    381             hadv, &
    382             vadv, &
     442            hadv_inca, &
     443            vadv_inca, &
    383444            conv_flg, &
    384445            pbl_flg,  &
    385446            tracnam)
    386447#endif
    387        tnom_0(1)='H2Ov'
    388        tnom_transp(1) = 'air'
    389        tnom_0(2)='H2Ol'
    390        tnom_transp(2) = 'air'
    391        IF (nqo == 3) then
    392          tnom_0(3)='H2Oi'     !! jyg
    393          tnom_transp(3) = 'air'
    394        endif
    395448
    396449!jyg<
Note: See TracChangeset for help on using the changeset viewer.