Changeset 5229 for LMDZ6/branches/Amaury_dev/libf/dyn3dmem
- Timestamp:
- Sep 25, 2024, 12:03:08 PM (3 months ago)
- Location:
- LMDZ6/branches/Amaury_dev/libf/dyn3dmem
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/branches/Amaury_dev/libf/dyn3dmem/check_isotopes_loc.F90
r5223 r5229 3 3 USE lmdz_strings, ONLY: maxlen, msg, strIdx, strStack, int2str, real2str 4 4 USE lmdz_infotrac, ONLY: nqtot, niso, nphas, isotope, isoCheck, iqIsoPha, isoSelect, & 5 ntiso, iH2O, nzone, tracers, isoName, itZonIso, getKey 5 ntiso, iH2O, nzone, tracers, isoName, itZonIso 6 USE iso_params_mod, ONLY: tnat_H216O, tnat_H217O, tnat_H218O, tnat_HDO, tnat_HTO 6 7 7 8 … … 14 15 CHARACTER(LEN=maxlen) :: modname, msg1, nm(2) 15 16 INTEGER :: ixt, ipha, k, i, iq, iiso, izon, ieau, iqeau, iqpar 16 INTEGER, ALLOCATABLE :: ix(:)17 INTEGER, ALLOCATABLE :: ix(:) 17 18 REAL, ALLOCATABLE, SAVE :: tnat(:) !--- OpenMP shared variable 18 REAL 19 REAL :: xtractot, xiiso, deltaD, q1, q2 19 20 REAL, PARAMETER :: borne = 1e19, & 20 21 errmax = 1e-8, & !--- Max. absolute error … … 38 39 ltnat1 = .TRUE.; CALL getin('tnateq1', ltnat1) 39 40 ALLOCATE(tnat(niso)) 40 iso_eau = strIdx(isoName,'H216O') 41 iso_O17 = strIdx(isoName,'H217O') 42 iso_O18 = strIdx(isoName,'H218O') 43 iso_HDO = strIdx(isoName,'HDO') 44 iso_HTO = strIdx(isoName,'HTO') 45 IF(ltnat1) THEN 46 tnat(:)=1.0 47 ELSE 48 IF(getKey('tnat', tnat)) CALL abort_gcm(modname, 'missing isotopic parameter', 1) 49 END IF 41 iso_eau = strIdx(isoName,'H216O'); IF(iso_eau /= 0) tnat(iso_eau) = tnat_H216O 42 iso_O17 = strIdx(isoName,'H217O'); IF(iso_O17 /= 0) tnat(iso_O17) = tnat_H217O 43 iso_O18 = strIdx(isoName,'H218O'); IF(iso_O18 /= 0) tnat(iso_O18) = tnat_H218O 44 iso_HDO = strIdx(isoName,'HDO'); IF(iso_HDO /= 0) tnat(iso_HDO) = tnat_HDO 45 iso_HTO = strIdx(isoName,'HTO'); IF(iso_HTO /= 0) tnat(iso_HTO) = tnat_HTO 46 IF(ltnat1) tnat(:) = 1.0 50 47 !$OMP END MASTER 51 48 !$OMP BARRIER … … 62 59 DO k = 1, llm 63 60 DO i = ijb, ije 64 IF(ABS(q(i,k,iq)) < =borne) CYCLE61 IF(ABS(q(i,k,iq)) < borne) CYCLE 65 62 WRITE(msg1,'(s,"(",i0,",",i0,",",i0,") = ",ES12.4)')TRIM(isoName(ixt)),i,k,iq,q(i,k,iq) 66 63 CALL msg(msg1, modname) -
LMDZ6/branches/Amaury_dev/libf/dyn3dmem/dynetat0_loc.f90
r5223 r5229 8 8 USE parallel_lmdz 9 9 USE lmdz_infotrac, ONLY: nqtot, tracers, niso, iqIsoPha, iH2O, isoName, & 10 new2oldH2O, newHNO3, oldHNO3 , getKey10 new2oldH2O, newHNO3, oldHNO3 11 11 USE lmdz_strings, ONLY: maxlen, msg, strStack, real2str, int2str, strIdx 12 12 USE netcdf, ONLY: nf90_open, nf90_nowrite, nf90_inquire_dimension, nf90_inq_varid, & … … 23 23 USE lmdz_iniprint, ONLY: lunout, prt_level 24 24 USE lmdz_comgeom 25 USE iso_params_mod ! tnat_* and alpha_ideal_* 25 26 26 27 USE lmdz_dimensions, ONLY: iim, jjm, llm, ndm … … 188 189 CALL msg(' !!! Beware: alpha_ideal put to 1 !!!', modname) 189 190 ELSE 190 IF(getKey('tnat', tnat, isoName(iName)) .OR. getKey('alpha', alpha_ideal, isoName(iName))) & 191 CALL abort_gcm(TRIM(modname), 'missing isotopic parameters', 1) 191 SELECT CASE(isoName(iName)) 192 CASE('H216O'); tnat = tnat_H216O; alpha_ideal = alpha_ideal_H216O 193 CASE('H217O'); tnat = tnat_H217O; alpha_ideal = alpha_ideal_H217O 194 CASE('H218O'); tnat = tnat_H218O; alpha_ideal = alpha_ideal_H218O 195 CASE('HDO'); tnat = tnat_HDO; alpha_ideal = alpha_ideal_HDO 196 CASE('HTO'); tnat = tnat_HTO; alpha_ideal = alpha_ideal_HTO 197 CASE DEFAULT; CALL abort_gcm(TRIM(modname), 'unknown isotope "' // TRIM(isoName(iName)) // '" ; check tracer.def file', 1) 198 END SELECT 192 199 END IF 193 200 CALL msg('Missing tracer <' // TRIM(var) // '> => initialized with a simplified Rayleigh distillation law.', modname) -
LMDZ6/branches/Amaury_dev/libf/dyn3dmem/iniacademic_loc.F90
r5223 r5229 1 ! $Id: iniacademic.F90 1625 2012-05-09 13:14:48Z lguez $2 3 1 SUBROUTINE iniacademic_loc(vcov, ucov, teta, q, masse, ps, phis, time_0) 4 2 5 3 USE lmdz_filtreg, ONLY: inifilr 6 USE lmdz_infotrac, ONLY: nqtot, niso, iqIsoPha, tracers, getKey,isoName, addPhase4 USE lmdz_infotrac, ONLY: nqtot, niso, iqIsoPha, tracers, isoName, addPhase 7 5 USE control_mod, ONLY: day_step, planet_type 8 6 USE exner_hyb_m, ONLY: exner_hyb … … 21 19 USE lmdz_academic, ONLY: tetarappel, knewt_t, kfrict, knewt_g, clat4 22 20 USE lmdz_comgeom 21 USE iso_params_mod ! tnat_* and alpha_ideal_* 23 22 24 23 ! Author: Frederic Hourdin original: 15/01/93 … … 322 321 WRITE(lunout, *) 'In '//TRIM(modname)//': !!! Beware: alpha_ideal put to 1 !!!' 323 322 ELSE 324 IF(getKey('tnat', tnat, isoName(iName)) .OR. getKey('alpha', alpha_ideal, isoName(iName))) & 325 CALL abort_gcm(TRIM(modname), 'missing isotopic parameters', 1) 323 SELECT CASE(isoName(iName)) 324 CASE('H216O'); tnat = tnat_H216O; alpha_ideal = alpha_ideal_H216O 325 CASE('H217O'); tnat = tnat_H217O; alpha_ideal = alpha_ideal_H217O 326 CASE('H218O'); tnat = tnat_H218O; alpha_ideal = alpha_ideal_H218O 327 CASE('HDO'); tnat = tnat_HDO; alpha_ideal = alpha_ideal_HDO 328 CASE('HTO'); tnat = tnat_HTO; alpha_ideal = alpha_ideal_HTO 329 CASE DEFAULT 330 CALL abort_gcm(TRIM(modname),'unknown isotope "'//TRIM(isoName(iName))//'" ; check tracer.def file',1) 331 END SELECT 326 332 END IF 327 333 q(ijb_u:ije_u,:,iq) = q(ijb_u:ije_u,:,iqParent)*tnat*(q(ijb_u:ije_u,:,iqParent)/30.e-3)**(alpha_ideal-1.)
Note: See TracChangeset
for help on using the changeset viewer.