Ignore:
Timestamp:
Sep 25, 2024, 12:03:08 PM (7 weeks ago)
Author:
abarral
Message:

Merge r5214

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/branches/Amaury_dev/libf/dyn3d/lmdz_check_isotopes.f90

    r5224 r5229  
    99    USE lmdz_strings, ONLY: maxlen, msg, strIdx, strStack, int2str, real2str
    1010    USE lmdz_infotrac, ONLY: nqtot, niso, nphas, isotope, isoCheck, iqIsoPha, isoSelect, &
    11             ntiso, iH2O, nzone, tracers, isoName, itZonIso, getKey
     11            ntiso, iH2O, nzone, tracers, isoName, itZonIso
     12    USE iso_params_mod, ONLY: tnat_H216O, tnat_H217O, tnat_H218O, tnat_HDO, tnat_HTO
    1213
    1314    USE lmdz_dimensions, ONLY: iim, jjm, llm, ndm
     
    3132            ridicule = 1e-12
    3233    INTEGER, SAVE :: iso_eau, iso_O17, iso_O18, iso_HDO, iso_HTO
    33     LOGICAL, SAVE :: ltnat1, first = .TRUE.
     34    LOGICAL :: ltnat1
     35    LOGICAL, SAVE :: first = .TRUE.
    3436
    3537    modname = 'check_isotopes'
     
    4042      ltnat1 = .TRUE.; CALL getin('tnateq1', ltnat1)
    4143      ALLOCATE(tnat(niso))
    42       iso_eau = strIdx(isoName, 'H216O')
    43       iso_O17 = strIdx(isoName, 'H217O')
    44       iso_O18 = strIdx(isoName, 'H218O')
    45       iso_HDO = strIdx(isoName, 'HDO')
    46       iso_HTO = strIdx(isoName, 'HTO')
    47       IF(ltnat1) THEN
    48         tnat(:) = 1.0
    49       ELSE
    50         IF(getKey('tnat', tnat)) CALL abort_gcm(modname, 'missing isotopic parameter', 1)
    51       END IF
     44      iso_eau = strIdx(isoName, 'H216O'); IF(iso_eau /= 0) tnat(iso_eau) = tnat_H216O
     45      iso_O17 = strIdx(isoName, 'H217O'); IF(iso_O17 /= 0) tnat(iso_O17) = tnat_H217O
     46      iso_O18 = strIdx(isoName, 'H218O'); IF(iso_O18 /= 0) tnat(iso_O18) = tnat_H218O
     47      iso_HDO = strIdx(isoName, 'HDO');   IF(iso_HDO /= 0) tnat(iso_HDO) = tnat_HDO
     48      iso_HTO = strIdx(isoName, 'HTO');   IF(iso_HTO /= 0) tnat(iso_HTO) = tnat_HTO
     49      IF(ltnat1) tnat(:) = 1.
    5250      first = .FALSE.
    5351    END IF
     
    6159        DO k = 1, llm
    6260          DO i = 1, ip1jmp1
    63             IF(ABS(q(i, k, iq)) <= borne) CYCLE
     61            IF(ABS(q(i, k, iq)) < borne) CYCLE
    6462            WRITE(msg1, '(s,"(",i0,",",i0,",",i0,") = ",ES12.4)')TRIM(isoName(ixt)), i, k, iq, q(i, k, iq)
    6563            CALL msg(msg1, modname)
Note: See TracChangeset for help on using the changeset viewer.