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/dyn3dmem
Files:
6 edited

Legend:

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

    r3967 r4046  
    1111      NF90_NOWRITE, NF90_CLOSE, NF90_INQUIRE_VARIABLE,  NF90_GET_VAR, NF90_NoErr
    1212  USE control_mod, ONLY: planet_type
     13  USE strings_mod, ONLY: maxlen
    1314  USE assert_eq_m, ONLY: assert_eq
    1415  USE comvert_mod, ONLY: pa,preff
     
    3940!===============================================================================
    4041! Local variables:
    41   CHARACTER(LEN=256) :: msg, var, modname
     42  CHARACTER(LEN=maxlen) :: msg, var, modname
    4243  INTEGER, PARAMETER :: length=100
    4344  INTEGER :: iq, fID, vID, idecal, ierr
     
    152153  ALLOCATE(q_glo(ip1jmp1,llm))
    153154  DO iq=1,nqtot
    154     var=tname(iq)
     155    var=TRIM(tracers(iq)%name)
    155156#ifdef INCA
    156157    IF (var .eq. "O3" ) THEN
     
    191192  INTEGER,          INTENT(IN) :: n1, n2
    192193  CHARACTER(LEN=*), INTENT(IN) :: str1, str2
    193   CHARACTER(LEN=256) :: s1, s2
     194  CHARACTER(LEN=maxlen) :: s1, s2
    194195  IF(n1/=n2) THEN
    195196    s1='value of '//TRIM(str1)//' ='
  • LMDZ6/trunk/libf/dyn3dmem/dynredem_loc.F90

    r3865 r4046  
    1414                    NF90_64BIT_OFFSET
    1515  USE dynredem_mod, ONLY: cre_var, put_var, err, modname, fil
     16  USE strings_mod, ONLY: maxlen
    1617  USE comvert_mod, ONLY: ap,bp,aps,bps,presnivs,pseudoalt,pa,preff, &
    1718                         nivsig,nivsigs
     
    4142  REAL    :: phis_glo(ip1jmp1)
    4243!   For NetCDF:
    43   CHARACTER(LEN=30) :: unites
     44  CHARACTER(LEN=maxlen) :: unites
    4445  INTEGER :: indexID
    4546  INTEGER :: rlonuID, rlonvID, rlatuID, rlatvID
     
    151152  CALL cre_var(nid,"teta" ,"Temperature",[rlonvID,rlatuID,sID,timID])
    152153  DO iq=1,nqtot
    153     CALL cre_var(nid,tname(iq),ttext(iq),[rlonvID,rlatuID,sID,timID])
     154    CALL cre_var(nid,tracers(iq)%name,tracers(iq)%longName,[rlonvID,rlatuID,sID,timID])
    154155  END DO
    155156  CALL cre_var(nid,"masse","Masse d air"    ,[rlonvID,rlatuID,sID,timID])
     
    204205  INTEGER, PARAMETER :: length=100
    205206  REAL               :: tab_cntrl(length) ! tableau des parametres du run
    206   CHARACTER(LEN=256) :: var, dum
     207  CHARACTER(LEN=maxlen) :: var, dum
    207208  LOGICAL            :: lread_inca
    208209!===============================================================================
     
    248249
    249250!--- Save tracers
    250   DO iq=1,nqtot; var=tname(iq); ierr=-1
     251  DO iq=1,nqtot; var=TRIM(tracers(iq)%name); ierr=-1
    251252    IF(lread_inca) THEN                  !--- Possibly read from "start_trac.nc"
    252253!$OMP MASTER     
  • LMDZ6/trunk/libf/dyn3dmem/initdynav_loc.F

    r2622 r4046  
    252252C
    253253!        DO iq=1,nqtot
    254 !          call histdef(histaveid, ttext(iq), ttext(iq), '-',
     254!          call histdef(histaveid, tracers(iq)%name,
     255!     .                            tracers(iq)%longName, '-',
    255256!     .             iip1, jjn, thoriid, llm, 1, llm, zvertiid,
    256257!     .             32, 'ave(X)', t_ops, t_wrt)
  • LMDZ6/trunk/libf/dyn3dmem/inithist_loc.F

    r2622 r4046  
    253253C
    254254!        DO iq=1,nqtot
    255 !          call histdef(histid, ttext(iq), ttext(iq), '-',
     255!          call histdef(histid, tracers(iq)%name,
     256!     .             tracers(iq)%longName, '-',
    256257!     .             iip1, jjn, thoriid, llm, 1, llm, zvertiid,
    257258!     .             32, 'inst(X)', t_ops, t_wrt)
  • LMDZ6/trunk/libf/dyn3dmem/writedynav_loc.F

    r2622 r4046  
    1111      USE parallel_lmdz
    1212      USE misc_mod
    13       USE infotrac, ONLY : nqtot, ttext
     13      USE infotrac, ONLY : nqtot
    1414      use com_io_dyn_mod, only : histaveid,histvaveid,histuaveid
    1515      USE comconst_mod, ONLY: cpp
     
    177177!!$OMP MASTER     
    178178!        DO iq=1,nqtot
    179 !          call histwrite(histaveid, ttext(iq), itau_w, q(ijb:ije,:,iq),
    180 !     .                   iip1*jjn*llm, ndexu)
     179!          call histwrite(histaveid, tracers(iq)%longName, itau_w, &
     180!     .                   q(ijb:ije,:,iq), iip1*jjn*llm, ndexu)
    181181!        enddo
    182182!!$OMP END MASTER
  • LMDZ6/trunk/libf/dyn3dmem/writehist_loc.F

    r2622 r4046  
    1111      USE parallel_lmdz
    1212      USE misc_mod
    13       USE infotrac, ONLY : nqtot, ttext
     13      USE infotrac, ONLY : nqtot
    1414      use com_io_dyn_mod, only : histid,histvid,histuid
    1515      USE comconst_mod, ONLY: cpp
     
    177177!!$OMP MASTER     
    178178!        DO iq=1,nqtot
    179 !          call histwrite(histid, ttext(iq), itau_w, q(ijb:ije,:,iq),
    180 !     .                   iip1*jjn*llm, ndexu)
     179!          call histwrite(histid, tracers(iq)%longName, itau_w,
     180!     .                   q(ijb:ije,:,iq), iip1*jjn*llm, ndexu)
    181181!        enddo
    182182!!$OMP END MASTER
Note: See TracChangeset for help on using the changeset viewer.