Changeset 5229 for LMDZ6/branches/Amaury_dev/libf/dyn3d
- Timestamp:
- Sep 25, 2024, 12:03:08 PM (4 months ago)
- Location:
- LMDZ6/branches/Amaury_dev/libf/dyn3d
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/branches/Amaury_dev/libf/dyn3d/iniacademic.F90
r5223 r5229 1 ! $Id$2 3 1 SUBROUTINE iniacademic(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 … … 20 18 USE lmdz_academic, ONLY: tetarappel, knewt_t, kfrict, knewt_g, clat4 21 19 USE lmdz_comgeom 20 USE iso_params_mod ! tnat_* and alpha_ideal_* 22 21 23 22 ! Author: Frederic Hourdin original: 15/01/93 … … 323 322 WRITE(lunout, *)'In '//TRIM(modname)//': !!! Beware: alpha_ideal put to 1 !!!' 324 323 ELSE 325 IF(getKey('tnat', tnat, isoName(iName)) .OR. getKey('alpha', alpha_ideal, isoName(iName))) & 326 CALL abort_gcm(TRIM(modname), 'missing isotopic parameters', 1) 324 SELECT CASE(isoName(iName)) 325 CASE('H216O'); tnat = tnat_H216O; alpha_ideal = alpha_ideal_H216O 326 CASE('H217O'); tnat = tnat_H217O; alpha_ideal = alpha_ideal_H217O 327 CASE('H218O'); tnat = tnat_H218O; alpha_ideal = alpha_ideal_H218O 328 CASE('HDO'); tnat = tnat_HDO; alpha_ideal = alpha_ideal_HDO 329 CASE('HTO'); tnat = tnat_HTO; alpha_ideal = alpha_ideal_HTO 330 CASE DEFAULT 331 CALL abort_gcm(TRIM(modname),'unknown isotope "'//TRIM(isoName(iName))//'" ; check tracer.def file',1) 332 END SELECT 327 333 END IF 328 334 q(:,:,iq) = q(:,:,iqParent)*tnat*(q(:,:,iqParent)/30.e-3)**(alpha_ideal-1.) -
LMDZ6/branches/Amaury_dev/libf/dyn3d/lmdz_check_isotopes.f90
r5224 r5229 9 9 USE lmdz_strings, ONLY: maxlen, msg, strIdx, strStack, int2str, real2str 10 10 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 12 13 13 14 USE lmdz_dimensions, ONLY: iim, jjm, llm, ndm … … 31 32 ridicule = 1e-12 32 33 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. 34 36 35 37 modname = 'check_isotopes' … … 40 42 ltnat1 = .TRUE.; CALL getin('tnateq1', ltnat1) 41 43 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. 52 50 first = .FALSE. 53 51 END IF … … 61 59 DO k = 1, llm 62 60 DO i = 1, ip1jmp1 63 IF(ABS(q(i, k, iq)) < =borne) CYCLE61 IF(ABS(q(i, k, iq)) < borne) CYCLE 64 62 WRITE(msg1, '(s,"(",i0,",",i0,",",i0,") = ",ES12.4)')TRIM(isoName(ixt)), i, k, iq, q(i, k, iq) 65 63 CALL msg(msg1, modname) -
LMDZ6/branches/Amaury_dev/libf/dyn3d/lmdz_dynetat0.f90
r5224 r5229 12 12 !------------------------------------------------------------------------------- 13 13 USE lmdz_infotrac, ONLY: nqtot, tracers, niso, iqIsoPha, iH2O, isoName, & 14 new2oldH2O, newHNO3, oldHNO3 , getKey14 new2oldH2O, newHNO3, oldHNO3 15 15 USE lmdz_strings, ONLY: maxlen, msg, strStack, real2str, int2str 16 16 USE netcdf, ONLY: nf90_open, nf90_nowrite, nf90_inq_varid, nf90_close, nf90_get_var, nf90_noerr … … 28 28 USE lmdz_strings, ONLY: strIdx 29 29 USE ioipsl, ONLY: getin 30 USE iso_params_mod ! tnat_* and alpha_ideal_* 30 31 31 32 USE lmdz_dimensions, ONLY: iim, jjm, llm, ndm … … 169 170 CALL msg(' !!! Beware: alpha_ideal put to 1 !!!', modname) 170 171 ELSE 171 IF(getKey('tnat', tnat, isoName(iName)) .OR. getKey('alpha', alpha_ideal, isoName(iName))) & 172 CALL abort_gcm(TRIM(modname), 'missing isotopic parameters', 1) 172 SELECT CASE(isoName(iName)) 173 CASE('H216O'); tnat = tnat_H216O; alpha_ideal = alpha_ideal_H216O 174 CASE('H217O'); tnat = tnat_H217O; alpha_ideal = alpha_ideal_H217O 175 CASE('H218O'); tnat = tnat_H218O; alpha_ideal = alpha_ideal_H218O 176 CASE('HDO'); tnat = tnat_HDO; alpha_ideal = alpha_ideal_HDO 177 CASE('HTO'); tnat = tnat_HTO; alpha_ideal = alpha_ideal_HTO 178 CASE DEFAULT; CALL abort_gcm(TRIM(modname), 'unknown isotope "' // TRIM(isoName(iName)) // '" ; check tracer.def file', 1) 179 END SELECT 173 180 END IF 174 181 CALL msg('Missing tracer <' // TRIM(var) // '> => initialized with a simplified Rayleigh distillation law.', modname)
Note: See TracChangeset
for help on using the changeset viewer.