Changeset 4143 for LMDZ6/trunk/libf/phylmdiso/physiq_mod.F90
- Timestamp:
- May 9, 2022, 12:35:40 PM (2 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/trunk/libf/phylmdiso/physiq_mod.F90
r4124 r4143 39 39 USE ioipsl_getin_p_mod, ONLY : getin_p 40 40 USE indice_sol_mod 41 USE infotrac, ONLY: iso_num, iso_indnum 42 USE infotrac_phy, ONLY: nqtot, nbtr, nqo, tracers, type_trac, nqCO2, indnum_fn_num 41 USE infotrac_phy, ONLY: nqtot, nbtr, nqo, tracers, type_trac, nqCO2 43 42 USE readTracFiles_mod, ONLY: addPhase 44 43 USE strings_mod, ONLY: strIdx, strStack, int2str … … 126 125 127 126 #ifdef ISO 128 USE infotrac_phy, ONLY: iq iso,niso, ntraciso, nzone127 USE infotrac_phy, ONLY: iqIsoPha,niso, ntraciso=>ntiso, nzone 129 128 USE isotopes_mod, ONLY: iso_eau,iso_HDO,iso_O18,iso_O17,iso_HTO, & 130 129 & bidouille_anti_divergence,ok_bidouille_wake, & … … 509 508 !====================================================================== 510 509 ! 511 INTEGER ivap ! indice de traceurs pour vapeur d'eau 512 PARAMETER (ivap=1) 513 INTEGER iliq ! indice de traceurs pour eau liquide 514 PARAMETER (iliq=2) 515 !CR: on ajoute la phase glace 516 INTEGER isol ! indice de traceurs pour eau glace 517 PARAMETER (isol=3) 518 INTEGER irneb ! indice de traceurs pour fraction nuageuse LS (optional) 519 PARAMETER (irneb=4) 510 ! indices de traceurs eau vapeur, liquide, glace, fraction nuageuse LS (optional) 511 INTEGER,SAVE :: ivap, iliq, isol, irneb 512 !$OMP THREADPRIVATE(ivap, iliq, isol, irneb) 520 513 ! 521 514 ! … … 1354 1347 1355 1348 IF (first) THEN 1349 ivap = strIdx(tracers(:)%name, addPhase('H2O', 'g')) 1350 iliq = strIdx(tracers(:)%name, addPhase('H2O', 'l')) 1351 isol = strIdx(tracers(:)%name, addPhase('H2O', 's')) 1352 irneb= strIdx(tracers(:)%name, addPhase('H2O', 'r')) 1356 1353 CALL init_etat0_limit_unstruct 1357 1354 IF (.NOT. create_etat0_limit) CALL init_limit_read(days_elapsed) … … 2412 2409 do ixt=1,ntraciso 2413 2410 #ifdef ISOVERIF 2414 write(*,*) 'physiq tmp 1762a: ixt,iqiso_vap=',ixt,iq iso(ixt,ivap)2415 write(*,*) 'physiq tmp 1762b: ixt,iqiso_liq=',ixt,iq iso(ixt,iliq)2411 write(*,*) 'physiq tmp 1762a: ixt,iqiso_vap=',ixt,iqIsoPha(ixt,ivap) 2412 write(*,*) 'physiq tmp 1762b: ixt,iqiso_liq=',ixt,iqIsoPha(ixt,iliq) 2416 2413 if (nqo.eq.3) then 2417 write(*,*) 'physiq tmp 1762c: ixt,iqiso_liq=',ixt,iq iso(ixt,iliq)2414 write(*,*) 'physiq tmp 1762c: ixt,iqiso_liq=',ixt,iqIsoPha(ixt,iliq) 2418 2415 endif !if (nqo.eq.3) then 2419 2416 #endif 2420 if (ixt.gt.niso) write(*,*) 'izone=',tracers(iq iso(ixt,ivap))%iso_iZone2417 if (ixt.gt.niso) write(*,*) 'izone=',tracers(iqIsoPha(ixt,ivap))%iso_iZone 2421 2418 DO k = 1, klev 2422 2419 DO i = 1, klon 2423 xt_seri(ixt,i,k) = qx(i,k,iq iso(ixt,ivap))2424 xtl_seri(ixt,i,k) = qx(i,k,iq iso(ixt,iliq))2420 xt_seri(ixt,i,k) = qx(i,k,iqIsoPha(ixt,ivap)) 2421 xtl_seri(ixt,i,k) = qx(i,k,iqIsoPha(ixt,iliq)) 2425 2422 if (nqo.eq.2) then 2426 2423 xts_seri(ixt,i,k) = 0. 2427 2424 else if (nqo.eq.3) then 2428 xts_seri(ixt,i,k) = qx(i,k,iq iso(ixt,isol))2425 xts_seri(ixt,i,k) = qx(i,k,iqIsoPha(ixt,isol)) 2429 2426 endif 2430 2427 enddo !DO i = 1, klon … … 3032 3029 ! verif iso_eau 3033 3030 !write(*,*) 'physiq tmp 2748: iso_eau=',iso_eau 3034 !write(*,*) 'use_iso=',use_iso3035 3031 !write(*,*) 'iso_eau.gt.0=',iso_eau.gt.0 3036 3032 !write(*,*) 'd_xt_vdf(iso_eau,1,1),d_q_vdf(1,1)=',d_xt_vdf(iso_eau,1,1),d_q_vdf(1,1) … … 6496 6492 DO k = 1, klev 6497 6493 DO i = 1, klon 6498 iq=iq iso(ixt,ivap)6494 iq=iqIsoPha(ixt,ivap) 6499 6495 d_qx(i,k,iq) = ( xt_seri(ixt,i,k) - qx(i,k,iq) ) / phys_tstep 6500 iq=iq iso(ixt,iliq)6496 iq=iqIsoPha(ixt,iliq) 6501 6497 d_qx(i,k,iq) = ( xtl_seri(ixt,i,k) - qx(i,k,iq) ) / phys_tstep 6502 6498 if (nqo.eq.3) then 6503 iq=iq iso(ixt,isol)6499 iq=iqIsoPha(ixt,isol) 6504 6500 d_qx(i,k,iq) = ( xts_seri(ixt,i,k) - qx(i,k,iq) ) / phys_tstep 6505 6501 endif
Note: See TracChangeset
for help on using the changeset viewer.