Changeset 2869
- Timestamp:
- Jan 16, 2023, 4:47:09 PM (2 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/WRF.COMMON/INTERFACES_V4/module_lmd_driver.F
r2868 r2869 30 30 RADT, & 31 31 TSK,PSFC, & 32 RTH BLTEN,RUBLTEN,RVBLTEN, &32 RTHPLATEN,RUPLATEN,RVPLATEN, & 33 33 num_3d_s,SCALAR, & 34 34 num_3d_m,moist, & … … 117 117 dz8w,p8w,p,exner,t,t8w,rho,u,v,z,th,p_hyd,p_hyd_w 118 118 REAL, DIMENSION( ims:ime, kms:kme, jms:jme ), INTENT(OUT ) :: & 119 RTH BLTEN,RUBLTEN,RVBLTEN, &119 RTHPLATEN,RUPLATEN,RVPLATEN, & 120 120 HR_SW,HR_LW,HR_DYN,DDT,DT_RAD,DT_VDF,RDUST,VMR_ICE,RICE,& 121 121 CLOUDFRAC,RH,DQICE,DQVAP,DTLSC,DTRAIN,DT_MOIST,H2OICE_REFF … … 442 442 IF (TRACER_MODE .EQ. 0) THEN 443 443 q_prof(:,1)=0.95 444 ELSE IF (TRACER_MODE .GE. 1) THEN 445 ! to be clean we should have an automatized process that makes sure that moist is sent to igcm_h2o_vap and etc. 446 q_prof(:,1) = SCALAR(i,kps:kpe,j,P_QH2O) / (1.d0 + SCALAR(i,kps:kpe,j,P_QH2O)) !! P_xxx is the index for variable xxx. 447 q_prof(:,2) = SCALAR(i,kps:kpe,j,P_QH2O_ICE) / (1.d0 + SCALAR(i,kps:kpe,j,P_QH2O)) 448 ! conversion from mass mixing ratio in WRF to specific concentration in Physiq 444 449 ELSE IF (TRACER_MODE .GE. 42) THEN 445 450 ! to be clean we should have an automatized process that makes sure that moist is sent to igcm_h2o_vap and etc. … … 684 689 !! DEDUCE TENDENCIES FOR WRF !! 685 690 !!***************************!! 686 RTH BLTEN(ims:ime,kms:kme,jms:jme)=0.687 RU BLTEN(ims:ime,kms:kme,jms:jme)=0.688 RV BLTEN(ims:ime,kms:kme,jms:jme)=0.691 RTHPLATEN(ims:ime,kms:kme,jms:jme)=0. 692 RUPLATEN(ims:ime,kms:kme,jms:jme)=0. 693 RVPLATEN(ims:ime,kms:kme,jms:jme)=0. 689 694 PSFC(ims:ime,jms:jme)=p8w(ims:ime,kms,jms:jme) ! was done in surface driver in regular WRF 690 695 !------------------------------------------------------------------! … … 702 707 703 708 ! zonal wind 704 RU BLTEN(i,kps:kpe,j) = zdufi_omp(subs,kps:kpe)709 RUPLATEN(i,kps:kpe,j) = zdufi_omp(subs,kps:kpe) 705 710 ! meridional wind 706 RV BLTEN(i,kps:kpe,j) = zdvfi_omp(subs,kps:kpe)711 RVPLATEN(i,kps:kpe,j) = zdvfi_omp(subs,kps:kpe) 707 712 ! potential temperature 708 713 ! (dT = dtheta * exner for isobaric coordinates or if pressure variations are negligible) 709 RTH BLTEN(i,kps:kpe,j) = zdtfi_omp(subs,kps:kpe) / exner(i,kps:kpe,j)714 RTHPLATEN(i,kps:kpe,j) = zdtfi_omp(subs,kps:kpe) / exner(i,kps:kpe,j) 710 715 ! update surface pressure (cf CO2 cycle in physics) 711 716 ! here dt is needed … … 722 727 SCALAR(i,kps:kpe,j,2) = SCALAR(i,kps:kpe,j,2)*exp(-dt/tau_decay) 723 728 SCALAR(i,1,j,2) = SCALAR(i,1,j,2) + 1. !! this tracer is emitted in the surface layer 729 CASE(1) 730 scalar(i,kps:kpe,j,P_QH2O)=scalar(i,kps:kpe,j,P_QH2O) & 731 +zdqfi_omp(subs,kps:kpe,1)*dt * (1.d0+scalar(i,kps:kpe,j,P_QH2O)) 732 scalar(i,kps:kpe,j,P_QH2O_ICE)=scalar(i,kps:kpe,j,P_QH2O_ICE) & 733 +zdqfi_omp(subs,kps:kpe,2)*dt * (1.d0+scalar(i,kps:kpe,j,P_QH2O)) 734 ! if you want to use this mode, RTHPLATEN should be corrected as below. 735 ! we keep it like that for the moment for testing. 724 736 CASE(42) 725 737 moist(i,kps:kpe,j,P_QV)=moist(i,kps:kpe,j,P_QV) & … … 727 739 scalar(i,kps:kpe,j,P_QH2O_ICE)=scalar(i,kps:kpe,j,P_QH2O_ICE) & 728 740 +zdqfi_omp(subs,kps:kpe,2)*dt * (1.d0+moist(i,kps:kpe,j,P_QV)) 729 ! if you want to use this mode, RTH BLTEN should be corrected as below.741 ! if you want to use this mode, RTHPLATEN should be corrected as below. 730 742 ! we keep it like that for the moment for testing. 731 743 CASE(43) … … 734 746 scalar(i,kps:kpe,j,P_QH2O_ICE)=scalar(i,kps:kpe,j,P_QH2O_ICE) & 735 747 +zdqfi_omp(subs,kps:kpe,2)*dt * (1.d0+moist(i,kps:kpe,j,P_QV)) 736 RTH BLTEN(i,kps:kpe,j) = RTHBLTEN(i,kps:kpe,j) &748 RTHPLATEN(i,kps:kpe,j) = RTHPLATEN(i,kps:kpe,j) & 737 749 * (1.d0+moist(i,kps:kpe,j,P_QV))/(1.d0+rvovrd*moist(i,kps:kpe,j,P_QV)) 738 750 ! correct dT/dt assuming a constant molar heat capacity.
Note: See TracChangeset
for help on using the changeset viewer.