Changeset 5888 for LMDZ6/branches
- Timestamp:
- Nov 25, 2025, 9:59:23 AM (7 weeks ago)
- Location:
- LMDZ6/branches/lmdz-snow/libf
- Files:
-
- 2 added
- 8 edited
-
phylmd/climb_qbs_mod.f90 (added)
-
phylmd/lmdz_blowing_snow_sublim_sedim.f90 (modified) (1 diff)
-
phylmd/phys_state_var_mod.F90 (modified) (3 diffs)
-
phylmdiso/add_phys_tend_mod.F90 (modified) (9 diffs)
-
phylmdiso/climb_qbs_mod.f90 (added)
-
phylmdiso/isotopes_routines_mod.F90 (modified) (2 diffs)
-
phylmdiso/phyaqua_mod.F90 (modified) (2 diffs)
-
phylmdiso/phyetat0_mod.F90 (modified) (5 diffs)
-
phylmdiso/phyredem.F90 (modified) (7 diffs)
-
phylmdiso/physiq_mod.F90 (modified) (26 diffs)
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/branches/lmdz-snow/libf/phylmd/lmdz_blowing_snow_sublim_sedim.f90
r5872 r5888 6 6 !============================================================================== 7 7 ! Routine that calculates the evaporation and sedimentation of blowing snow 8 ! inspired by what is done in lscp_mod 8 ! inspired by what is done in the cloud routines lscp 9 ! Details are provided in Vignon et al. 2025, GMD 10 ! 9 11 ! Etienne Vignon, October 2022 10 12 !============================================================================== -
LMDZ6/branches/lmdz-snow/libf/phylmd/phys_state_var_mod.F90
r5776 r5888 111 111 REAL,ALLOCATABLE,SAVE :: xtsol(:,:),fxtevap(:,:,:) 112 112 !$OMP THREADPRIVATE(xtsol,fxtevap) 113 REAL, ALLOCATABLE, SAVE :: xtrain_fall(:,:), xtsnow_fall(:,:) 114 !$OMP THREADPRIVATE(xtrain_fall,xtsnow_fall )113 REAL, ALLOCATABLE, SAVE :: xtrain_fall(:,:), xtsnow_fall(:,:),xtbs_fall(:,:) 114 !$OMP THREADPRIVATE(xtrain_fall,xtsnow_fall,xtbs_fall) 115 115 #endif 116 116 … … 872 872 ALLOCATE(xtrain_fall(ntraciso,klon)) 873 873 ALLOCATE(xtsnow_fall(ntraciso,klon)) 874 ALLOCATE(xtbs_fall(ntraciso,klon)) 874 875 ALLOCATE(xtrain_con(ntraciso,klon)) 875 876 ALLOCATE(xtsnow_con(ntraciso,klon)) … … 1092 1093 DEALLOCATE(xtsol,fxtevap) 1093 1094 DEALLOCATE(xt_ancien,xtl_ancien,xts_ancien,xtbs_ancien, fxtd, wake_deltaxt) 1094 DEALLOCATE(xtrain_fall, xtsnow_fall, xt rain_con, xtsnow_con)1095 DEALLOCATE(xtrain_fall, xtsnow_fall, xtbs_fall, xtrain_con, xtsnow_con) 1095 1096 #ifdef ISOTRAC 1096 1097 DEALLOCATE(bassin_map,boite_map) -
LMDZ6/branches/lmdz-snow/libf/phylmdiso/add_phys_tend_mod.F90
r5285 r5888 18 18 SUBROUTINE add_pbl_tend(zdu, zdv, zdt, zdq, zdql, zdqi, zdqbs, paprs, text,abortphy,flag_inhib_tend, itap & 19 19 #ifdef ISO 20 ,zdxt,zdxtl,zdxti &20 ,zdxt,zdxtl,zdxti,zdxtbs & 21 21 #endif 22 22 ) … … 68 68 INTEGER itap ! time step number 69 69 #ifdef ISO 70 REAL zdxt(ntraciso,klon, klev), zdxtl(ntraciso,klon, klev), zdxti(ntraciso,klon, klev) 70 REAL zdxt(ntraciso,klon, klev), zdxtl(ntraciso,klon, klev), zdxti(ntraciso,klon, klev), zdxtbs(ntraciso,klon, klev) 71 71 #endif 72 72 … … 106 106 CALL add_phys_tend(zdu, zdv, zzdt, zzdq, zdql, zdqi, zdqbs, paprs, text,abortphy,flag_inhib_tend, itap, 0 & 107 107 #ifdef ISO 108 ,zzdxt,zdxtl,zdxti &108 ,zzdxt,zdxtl,zdxti,zdxtbs & 109 109 #endif 110 110 ) … … 112 112 CALL add_phys_tend(zdu, zdv, zdt, zdq, zdql, zdqi, zdqbs, paprs, text,abortphy,flag_inhib_tend, itap, 0 & 113 113 #ifdef ISO 114 ,zdxt,zdxtl,zdxti &114 ,zdxt,zdxtl,zdxti,zdxtbs & 115 115 #endif 116 116 ) … … 126 126 abortphy,flag_inhib_tend, itap, diag_mode & 127 127 #ifdef ISO 128 ,zdxt,zdxtl,zdxti &128 ,zdxt,zdxtl,zdxti,zdxtbs & 129 129 #endif 130 130 ) … … 180 180 #ifdef ISO 181 181 REAL zdxt(ntraciso,klon,klev),zdxtl(ntraciso,klon,klev) & 182 ,zdxti(ntraciso,klon,klev) 182 ,zdxti(ntraciso,klon,klev), zdxtbs(ntraciso,klon,klev) 183 183 integer ixt 184 184 #endif … … 203 203 #ifdef ISO 204 204 REAL, DIMENSION(ntraciso,klon,klev) :: sav_zdxt 205 REAL, DIMENSION(ntraciso,klon,klev) :: sav_xtl_seri, sav_xts_seri, sav_xt _seri205 REAL, DIMENSION(ntraciso,klon,klev) :: sav_xtl_seri, sav_xts_seri, sav_xtbs_seri, sav_xt_seri 206 206 #endif 207 207 ! … … 346 346 xtl_seri(:,:,:)=xtl_seri(:,:,:)+zdxtl(:,:,:) 347 347 xts_seri(:,:,:)=xts_seri(:,:,:)+zdxti(:,:,:) 348 xtbs_seri(:,:,:)=xtbs_seri(:,:,:)+zdxtbs(:,:,:) 348 349 #endif 349 350 … … 661 662 xtl_seri(:,:,:) = sav_xtl_seri(:,:,:) 662 663 xts_seri(:,:,:) = sav_xts_seri(:,:,:) 664 xtbs_seri(:,:,:) = sav_xtbs_seri(:,:,:) 663 665 xt_seri(:,:,:) = sav_xt_seri(:,:,:) 664 666 zdxt(:,:,:) = sav_zdxt(:,:,:) -
LMDZ6/branches/lmdz-snow/libf/phylmdiso/isotopes_routines_mod.F90
r5748 r5888 18901 18901 subroutine dispatch(klon,klev,qx,q_seri,xt_seri,ql_seri,xtl_seri,qs_seri,xts_seri) 18902 18902 18903 use infotrac_phy, ONLY: nqtot,nqo,ivap,iliq,isol,i qIsoPha,ntraciso=>ntiso18903 use infotrac_phy, ONLY: nqtot,nqo,ivap,iliq,isol,ibs,iqIsoPha,ntraciso=>ntiso 18904 18904 implicit none 18905 18905 … … 18907 18907 integer, intent(in) :: klon,klev 18908 18908 real,dimension(klon,klev,nqtot), intent(in) ::qx 18909 logical :: ok_bs 18909 18910 18910 18911 ! outputs -
LMDZ6/branches/lmdz-snow/libf/phylmdiso/phyaqua_mod.F90
r5662 r5888 388 388 ql_ancien = 0. 389 389 qs_ancien = 0. 390 qbs_ancien = 0. 390 391 u_ancien = 0. 391 392 v_ancien = 0. … … 393 394 prlw_ancien = 0. 394 395 prsw_ancien = 0. 396 prbsw_ancien= 0. 395 397 396 398 ale_wake = 0. -
LMDZ6/branches/lmdz-snow/libf/phylmdiso/phyetat0_mod.F90
r5662 r5888 29 29 falb_dir, falb_dif, prw_ancien, prlw_ancien, prsw_ancien, prbsw_ancien, & 30 30 ftsol, pbl_tke, pctsrf, q_ancien, ql_ancien, qs_ancien, qbs_ancien, & 31 cf_ancien, rvc_ancien, radpas, radsol, rain_fall, ratqs, &31 cf_ancien, rvc_ancien, tke_ancien, radpas, radsol, rain_fall, ratqs, & 32 32 rnebcon, rugoro, sig1, snow_fall, bs_fall, solaire_etat0, sollw, sollwdown, & 33 33 solsw, solswfdiff, t_ancien, u_ancien, v_ancien, w01, wake_cstar, wake_deltaq, & … … 35 35 wake_s, awake_s, wake_dens, awake_dens, cv_gen, zgam, zmax0, zmea, zpic, zsig, & 36 36 #ifdef ISO 37 fxtevap, xtsol, xt_ancien, xtl_ancien, xts_ancien, wake_deltaxt, &38 xtrain_fall,xtsnow_fall, &37 fxtevap, xtsol, xt_ancien, xtl_ancien, xts_ancien, xtbs_ancien, wake_deltaxt, & 38 xtrain_fall,xtsnow_fall, xtbs_fall, & 39 39 #endif 40 40 zstd, zthe, zval, ale_bl, ale_bl_trig, alp_bl, u10m, v10m, treedrg, & … … 126 126 missing_val=missing_val_netcdf 127 127 ENDIF 128 128 129 129 ! FH1D 130 130 ! real iolat(jjm+1) … … 376 376 bs_fall(:)=0. 377 377 ENDIF 378 379 380 378 !======================================================================= 381 379 ! Radiation … … 495 493 !================================== 496 494 ! 495 ! cas specifique de l'advection de TKE 496 IF (ok_advtke) THEN 497 ancien_ok=ancien_ok.AND.phyetat0_get(tke_ancien,"TKEANCIEN","TKEANCIEN",0.) 498 ELSE 499 tke_ancien(:,:)=0. 500 ENDIF 501 502 IF (ok_advtke) THEN 503 IF ( (maxval(tke_ancien).EQ.minval(tke_ancien))) THEN 504 ancien_ok=.false. 505 ENDIF 506 ENDIF 507 497 508 IF (iflag_pbl>1) then 498 509 found=phyetat0_srf(pbl_tke,"TKE","Turb. Kinetic. Energ. ",1.e-8) -
LMDZ6/branches/lmdz-snow/libf/phylmdiso/phyredem.F90
r5662 r5888 20 20 prw_ancien, prlw_ancien, prsw_ancien, prbsw_ancien, & 21 21 ql_ancien, qs_ancien, qbs_ancien, cf_ancien, & 22 rvc_ancien, u_ancien, v_ancien, &22 rvc_ancien, u_ancien, v_ancien, tke_ancien, & 23 23 clwcon, rnebcon, ratqs, pbl_tke, & 24 24 wake_delta_pbl_tke, zmax0, f0, sig1, w01, & … … 36 36 !GG 37 37 #ifdef ISO 38 USE phys_state_var_mod, ONLY: xtsol, fxtevap,xtrain_fall, xtsnow_fall, &39 xt_ancien, xtl_ancien, xts_ancien, &38 USE phys_state_var_mod, ONLY: xtsol, fxtevap,xtrain_fall, xtsnow_fall, xtbs_fall, & 39 xt_ancien, xtl_ancien, xts_ancien,xtbs_ancien, & 40 40 wake_deltaxt 41 41 #endif … … 310 310 311 311 ! DEB TKE PBL ! 312 313 IF (ok_advtke) THEN 314 CALL put_field(pass,"TKEANCIEN", "TKEANCIEN", tke_ancien) 315 ENDIF 316 312 317 313 318 IF (iflag_pbl>1) then … … 433 438 CALL put_field(pass, "dT_ns", "delta temperature near surface", dT_ns) 434 439 end if 435 440 436 441 #ifdef ISO 437 442 write(*,*) 'phyredem 342' … … 571 576 call iso_verif_egalite(xts_ancien(iso_eau,i,k),qs_ancien(i,k), & 572 577 & 'phyisoredem 50c') 573 578 call iso_verif_egalite(xtbs_ancien(iso_eau,i,k),qbs_ancien(i,k), & | --------------------------------------------------------------------------------------------------- 579 & 'phyisoredem 50d') 574 580 enddo !do i=1,klon 575 581 enddo !do k=1,klev … … 612 618 CALL put_field(pass, "xtsnow_f"//TRIM(outiso), "precipitation solide",iso_tmp) 613 619 620 iso_tmp(:)=xtbs_fall(ixt,:) | --------------------------------------------------------------------------------------------------- 621 CALL put_field(pass, "xtbs_f"//TRIM(outiso), "precipitation neige soufflee",iso_tmp) | --------------------------------------------------------------------------------------------------- 622 614 623 iso_tmp_lonlev(:,:)=xt_ancien(ixt,:,:) 615 624 CALL put_field(pass, "XTANCIEN"//TRIM(outiso), "QANCIEN", iso_tmp_lonlev) … … 620 629 iso_tmp_lonlev(:,:)=xts_ancien(ixt,:,:) 621 630 CALL put_field(pass, "XTSANCIEN"//TRIM(outiso), "QSANCIEN", iso_tmp_lonlev) 622 631 | --------------------------------------------------------------------------------------------------- 632 iso_tmp_lonlev(:,:)=xtbs_ancien(ixt,:,:) | --------------------------------------------------------------------------------------------------- 633 CALL put_field(pass, "XTBSANCIEN"//TRIM(outiso), "QBSANCIEN", iso_tmp_lonlev) | --------------------------------------------------------------------------------------------------- 634 623 635 iso_tmp_lonlev(:,:)=wake_deltaxt(ixt,:,:) 624 636 CALL put_field(pass,"WAKE_DELTAXT"//TRIM(outiso), "WAKE_DELTAQ", iso_tmp_lonlev) -
LMDZ6/branches/lmdz-snow/libf/phylmdiso/physiq_mod.F90
r5872 r5888 429 429 #ifdef ISO 430 430 USE phys_local_var_mod, ONLY: xt_seri,xtl_seri,xts_seri,xtbs_seri, & 431 d_xt_eva,d_xtl_eva,d_xti_eva, &431 d_xt_eva,d_xtl_eva,d_xti_eva, & 432 432 d_xt_dyn,d_xtl_dyn,d_xts_dyn,d_xtbs_dyn, & 433 433 d_xt_con, d_xt_wake, & … … 1066 1066 REAL, dimension(klon,klev):: du0, dv0, dt0, dq0, dql0, dqi0, dqbs0 1067 1067 #ifdef ISO 1068 REAL, dimension(ntraciso,klon,klev):: dxt0, dxtl0, dxti0 1068 REAL, dimension(ntraciso,klon,klev):: dxt0, dxtl0, dxti0, dxtbs0 1069 1069 #endif 1070 1070 REAL, dimension(klon) :: dsig0, ddens0 … … 2577 2577 dxtl0(:,:,:)=0. 2578 2578 dxti0(:,:,:)=0. 2579 dxtbs0(:,:,:)=0. 2579 2580 #endif 2580 2581 dsig0(:) = 0. … … 2679 2680 write(*,*) 'physiq tmp 1762b: ixt,iqiso_liq=',ixt,iqIsoPha(ixt,iliq) 2680 2681 if (nqo.eq.3) then 2681 write(*,*) 'physiq tmp 1762c: ixt,iqiso_ liq=',ixt,iqIsoPha(ixt,iliq)2682 write(*,*) 'physiq tmp 1762c: ixt,iqiso_ice=',ixt,iqIsoPha(ixt,isol) 2682 2683 endif !if (nqo.eq.3) then 2684 if (nqo.ge.4 .and. ok_bs) then 2685 write(*,*) 'physiq tmp 1762d: ixt,iqiso_bs=',ixt,iqIsoPha(ixt,ibs) 2686 endif 2683 2687 #endif 2684 2688 if (ixt.gt.niso) write(*,*) 'izone=',tracers(iqIsoPha(ixt,ivap))%iso_iZone … … 2688 2692 xt_seri(ixt,i,k) = qx(i,k,iqIsoPha(ixt,ivap)) 2689 2693 xtl_seri(ixt,i,k) = qx(i,k,iqIsoPha(ixt,iliq)) 2690 if (nqo.eq.2) then2691 xts_seri(ixt,i,k) = 0.2692 elseif (nqo.eq.3) then2694 xts_seri(ixt,i,k) = 0. 2695 xtbs_seri(ixt,i,k) = 0. 2696 if (nqo.eq.3) then 2693 2697 xts_seri(ixt,i,k) = qx(i,k,iqIsoPha(ixt,isol)) 2698 else if (nqo.ge.4 .and. ok_bs) then 2699 xtbs_seri(ixt,i,k) = qx(i,k,iqIsoPha(ixt,ibs)) 2694 2700 endif 2701 2695 2702 enddo !DO i = 1, klon 2696 2703 enddo ! DO k = 1, klev … … 2722 2729 xtql1(ixt,:)=xtql1(ixt,:)+xts_seri(ixt,:,k)*zmasse(:,k) 2723 2730 ENDIF 2724 IF ( ok_bs) THEN2731 IF (nqo >= 4 .and. ok_bs) THEN 2725 2732 xtql1(ixt,:)=xtql1(ixt,:)+xtbs_seri(ixt,:,k)*zmasse(:,k) 2726 2733 ENDIF … … 2804 2811 endif ! if (iso_verif_o18_aberrant_nostop 2805 2812 endif !if (q_seri(i,k).gt.errmax) then 2813 if (qbs_seri(i,k).gt.ridicule) then 2814 if (iso_verif_o18_aberrant_nostop( & 2815 & xtbs_seri(iso_HDO,i,k)/qbs_seri(i,k), & 2816 & xtbs_seri(iso_O18,i,k)/qbs_seri(i,k), & 2817 & 'physiq 2099 qs').eq.1) then 2818 write(*,*) 'i,k,qbs_seri(i,k)=',i,k,qbs_seri(i,k) 2819 !stop 2820 endif ! if (iso_verif_o18_aberrant_nostop 2821 endif !if (q_seri(i,k).gt.errmax) then 2806 2822 enddo !k=1,klev 2807 2823 enddo !i=1,klon … … 2813 2829 call iso_verif_traceur(xtl_seri(1,i,k),'physiq 2620b') 2814 2830 call iso_verif_traceur(xts_seri(1,i,k),'physiq 2620c') 2831 call iso_verif_traceur(xtbs_seri(1,i,k),'physiq 2620d') 2815 2832 enddo 2816 2833 enddo … … 3139 3156 & xts_seri(iso_eau,i,k),qs_seri(i,k), & 3140 3157 & 'reevap 2209b, après réévap totale',errmax,errmaxrel) 3158 call iso_verif_egalite_choix( & 3159 & xtbs_seri(iso_eau,i,k),qbs_seri(i,k), & 3160 & 'reevap 2209c, après réévap totale',errmax,errmaxrel) 3141 3161 endif !if (iso_eau.gt.0) then 3142 3162 … … 3168 3188 'eva',abortphy,flag_inhib_tend,itap,0 & 3169 3189 #ifdef ISO 3170 & ,d_xt_eva,d_xtl_eva,d_xti_eva &3190 & ,d_xt_eva,d_xtl_eva,d_xti_eva,dxtbs0 & 3171 3191 #endif 3172 3192 & ) … … 4347 4367 'convection',abortphy,flag_inhib_tend,itap,0 & 4348 4368 #ifdef ISO 4349 & ,d_xt_con,dxtl0,dxti0 &4369 & ,d_xt_con,dxtl0,dxti0,dxtbs0 & 4350 4370 #endif 4351 4371 & ) … … 4579 4599 abortphy,flag_inhib_tend,itap,0 & 4580 4600 #ifdef ISO 4581 & ,d_xt_wake,dxtl0,dxti0 &4601 & ,d_xt_wake,dxtl0,dxti0,dxtbs0 & 4582 4602 #endif 4583 4603 & ) … … 4917 4937 dql0,dqi0,dqbs0,paprs,'thermals', abortphy,flag_inhib_tend,itap,0 & 4918 4938 #ifdef ISO 4919 & ,d_xt_ajs,dxtl0,dxti0 &4939 & ,d_xt_ajs,dxtl0,dxti0,dxtbs0 & 4920 4940 #endif 4921 4941 & ) … … 5033 5053 'ajsb',abortphy,flag_inhib_tend,itap,0 & 5034 5054 #ifdef ISO 5035 & ,d_xt_ajsb,dxtl0,dxti0 &5055 & ,d_xt_ajsb,dxtl0,dxti0,dxtbs0 & 5036 5056 #endif 5037 5057 & ) … … 6351 6371 CALL add_phys_tend(du0,dv0,d_t_swr,dq0,dql0,dqi0,dqbs0,paprs,'SW',abortphy,flag_inhib_tend,itap,0 & 6352 6372 #ifdef ISO 6353 & ,dxt0,dxtl0,dxti0 &6373 & ,dxt0,dxtl0,dxti0,dxtbs0 & 6354 6374 #endif 6355 6375 & ) … … 6357 6377 CALL add_phys_tend(du0,dv0,d_t_lwr,dq0,dql0,dqi0,dqbs0,paprs,'LW',abortphy,flag_inhib_tend,itap,0 & 6358 6378 #ifdef ISO 6359 & ,dxt0,dxtl0,dxti0 &6379 & ,dxt0,dxtl0,dxti0,dxtbs0 & 6360 6380 #endif 6361 6381 & ) … … 6444 6464 abortphy,flag_inhib_tend,itap,0 & 6445 6465 #ifdef ISO 6446 & ,dxt0,dxtl0,dxti0 &6466 & ,dxt0,dxtl0,dxti0,dxtbs0 & 6447 6467 #endif 6448 6468 & ) … … 6495 6515 'lif', abortphy,flag_inhib_tend,itap,0 & 6496 6516 #ifdef ISO 6497 & ,dxt0,dxtl0,dxti0 &6517 & ,dxt0,dxtl0,dxti0,dxtbs0 & 6498 6518 #endif 6499 6519 & ) … … 6523 6543 dqi0, dqbs0, paprs, 'hin', abortphy,flag_inhib_tend,itap,0 & 6524 6544 #ifdef ISO 6525 & ,dxt0,dxtl0,dxti0 &6545 & ,dxt0,dxtl0,dxti0,dxtbs0 & 6526 6546 #endif 6527 6547 & ) … … 6546 6566 paprs, 'front_gwd_rando', abortphy,flag_inhib_tend,itap,0 & 6547 6567 #ifdef ISO 6548 & ,dxt0,dxtl0,dxti0 &6568 & ,dxt0,dxtl0,dxti0,dxtbs0 & 6549 6569 #endif 6550 6570 & ) … … 6559 6579 paprs, 'flott_gwd_rando', abortphy,flag_inhib_tend,itap,0 & 6560 6580 #ifdef ISO 6561 & ,dxt0,dxtl0,dxti0 &6581 & ,dxt0,dxtl0,dxti0,dxtbs0 & 6562 6582 #endif 6563 6583 & ) … … 6628 6648 'q_ch4', abortphy,flag_inhib_tend,itap,0 & 6629 6649 #ifdef ISO 6630 & ,d_xt_ch4_dtime,dxtl0,dxti0 &6650 & ,d_xt_ch4_dtime,dxtl0,dxti0,dxtbs0 & 6631 6651 #endif 6632 6652 & ) … … 6813 6833 endif ! if (iso_verif_o18_aberrant_nostop 6814 6834 endif !if (q_seri(i,k).gt.errmax) then 6835 6836 if (qbs_seri(i,k).gt.ridicule) then 6837 if (iso_verif_o18_aberrant_nostop( & 6838 & xtbs_seri(iso_HDO,i,k)/qbs_seri(i,k), & 6839 & xtbs_seri(iso_O18,i,k)/qbs_seri(i,k), & 6840 & 'physiq 5937d, juste apres methox, qbs').eq.1) then 6841 write(*,*) 'i,k,qbs_seri(i,k)=',i,k,qbs_seri(i,k) 6842 !stop 6843 endif ! if (iso_verif_o18_aberrant_nostop 6844 endif !if (q_seri(i,k).gt.errmax) then 6815 6845 enddo !k=1,klev 6816 6846 enddo !i=1,klon … … 7132 7162 qql2(:)=qql2(:)+qs_seri(:,k)*zmasse(:,k) 7133 7163 ENDIF 7134 IF ( ok_bs) THEN7164 IF (nqo >=4 .and. ok_bs) THEN 7135 7165 qql2(:)=qql2(:)+qbs_seri(:,k)*zmasse(:,k) 7136 7166 ENDIF … … 7167 7197 qs_seri(i,k)=qs_seri(i,k)*corrqql 7168 7198 ENDIF 7169 IF ( ok_bs) THEN7199 IF (nqo >= 4 .and. ok_bs) THEN 7170 7200 qbs_seri(i,k)=qbs_seri(i,k)*corrqql 7171 7201 ENDIF … … 7316 7346 d_qx(i,k,iq) = ( xts_seri(ixt,i,k) - qx(i,k,iq) ) / phys_tstep 7317 7347 endif 7348 if (nqo.ge.4 .and. ok_bs) then 7349 iq=iqIsoPha(ixt,ibs) 7350 d_qx(i,k,iq) = ( xtbs_seri(ixt,i,k) - qx(i,k,iq) ) / phys_tstep 7351 endif 7352 7318 7353 enddo !DO i = 1, klon 7319 7354 enddo ! DO k = 1, klev
Note: See TracChangeset
for help on using the changeset viewer.
