Ignore:
Timestamp:
Dec 15, 2021, 11:18:49 PM (3 years ago)
Author:
dcugnet
Message:

First commit for new tracers.

  • parser routines readTracFiles, strings_mod and tracer_types added in misc using revision 4 of https://svn.lmd.jussieu.fr/tracers-parser
  • tested in sequential and parallel mode using ioipsl.
  • for now, only two fields of "tracers(:)" derived type vector are used: "name" and "longName".
Location:
LMDZ6/trunk/libf/dynphy_lonlat
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/trunk/libf/dynphy_lonlat/calfis.F

    r2604 r4046  
    2929c    Auteur :  P. Le Van, F. Hourdin
    3030c   .........
    31       USE infotrac, ONLY: nqtot, niadv, tname
     31      USE infotrac, ONLY: nqtot, niadv, tracers
    3232      USE control_mod, ONLY: planet_type, nsplit_phys
    3333#ifdef CPP_PHYS
     
    481481         lafin_split=lafin.and.isplit==nsplit_phys
    482482
    483         CALL call_physiq(ngridmx,llm,nqtot,tname,
     483        CALL call_physiq(ngridmx,llm,nqtot,tracers(:)%name,
    484484     &                   debut_split,lafin_split,
    485485     &                   jD_cur,jH_cur_split,zdt_split,
     
    522522!     .             llm,            !! nlayer
    523523!     .             nqtot,          !! nq
    524 !     .             tname,          !! tracer names from dynamical core (given in infotrac)
     524!     .             tracers(:)%name,!! tracer names from dynamical core (given in infotrac)
    525525!     .             debut_split,    !! firstcall
    526526!     .             lafin_split,    !! lastcall
  • LMDZ6/trunk/libf/dynphy_lonlat/calfis_loc.F

    r2604 r4046  
    4545      USE Times
    4646#endif
    47       USE infotrac, ONLY: nqtot, niadv, tname
     47      USE infotrac, ONLY: nqtot, niadv, tracers
    4848      USE control_mod, ONLY: planet_type, nsplit_phys
    4949#ifdef CPP_PHYS
     
    731731         lafin_split=lafin.and.isplit==nsplit_phys
    732732
    733         CALL call_physiq(klon,llm,nqtot,tname,
     733        CALL call_physiq(klon,llm,nqtot,tracers(:)%name,
    734734     &                   debut_split,lafin_split,
    735735     &                   jD_cur,jH_cur_split,zdt_split,
  • LMDZ6/trunk/libf/dynphy_lonlat/phylmd/etat0dyn_netcdf.F90

    r3435 r4046  
    3939  USE comvert_mod, ONLY: ap, bp, preff, pressure_exner
    4040  USE temps_mod, ONLY: annee_ref, day_ref, itau_dyn, itau_phy, start_time
     41  USE strings_mod, ONLY: strLower
    4142 
    4243  IMPLICIT NONE
     
    7475  USE exner_hyb_m,    ONLY: exner_hyb
    7576  USE exner_milieu_m, ONLY: exner_milieu
    76   USE infotrac,       ONLY: nqtot, tname
     77  USE infotrac,       ONLY: nqtot, tracers
    7778  USE filtreg_mod
    7879  IMPLICIT NONE
     
    8485! Local variables:
    8586  CHARACTER(LEN=256) :: modname, fmt
    86   INTEGER            :: i, j, l, ji, itau, iday
     87  INTEGER            :: i, j, l, ji, itau, iday, iq
    8788  REAL               :: xpn, xps, time, phystep
    8889  REAL, DIMENSION(iip1,jjp1)       :: psol
     
    145146! Look for ozone tracer:
    146147#ifndef INCA
    147   DO i=1,nqtot; IF(ANY(["O3","o3"]==tname(i))) EXIT; END DO
     148  DO iq=1,nqtot; IF(strLower(tracers(iq)%name)=="o3") EXIT; END DO
    148149  IF(i/=nqtot+1) THEN
    149150    CALL regr_lat_time_coefoz
  • LMDZ6/trunk/libf/dynphy_lonlat/phylmd/iniphysiq_mod.F90

    r3924 r4046  
    1616  USE mod_phys_lmdz_para, ONLY: klon_omp ! number of columns (on local omp grid)
    1717  USE vertical_layers_mod, ONLY : init_vertical_layers
    18   USE infotrac, ONLY: nqtot,nqo,nbtr,nqCO2,tname,ttext,type_trac,&
     18  USE infotrac, ONLY: nqtot,nqo,nbtr,nqCO2,tracers,type_trac,&
    1919                      niadv,conv_flg,pbl_flg,solsym,&
    2020                      nqfils,nqdesc,nqdesc_tot,iqfils,iqpere,&
     
    146146
    147147  ! Initialize tracer names, numbers, etc. for physics
    148   CALL init_infotrac_phy(nqtot,nqo,nbtr,nqtottr,nqCO2,tname,ttext,type_trac,&
     148  CALL init_infotrac_phy(nqtot,nqo,nbtr,nqtottr,nqCO2,tracers,type_trac,&
    149149                         niadv,conv_flg,pbl_flg,solsym,&
    150150                         nqfils,nqdesc,nqdesc_tot,iqfils,iqpere,&
     
    203203          rlonudyn,rlatudyn,rlonvdyn,rlatvdyn)
    204204#endif
    205     IF (type_trac == 'repr') THEN
    206 #ifdef REPROBUS
    207        CALL Init_chem_rep_phys(klon_omp,nbp_lev)
    208 #endif
    209     END IF
     205  END IF
     206  IF (type_trac == 'repr') THEN
     207#ifdef REPROBUS
     208     CALL Init_chem_rep_phys(klon_omp,nbp_lev)
     209#endif
    210210  END IF
    211211
Note: See TracChangeset for help on using the changeset viewer.