Changeset 3691 for LMDZ6/trunk/libf/phylmd/phys_output_write_mod.F90
- Timestamp:
- May 30, 2020, 5:37:19 PM (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/trunk/libf/phylmd/phys_output_write_mod.F90
r3666 r3691 40 40 o_q2m, o_ustar, o_u10m, o_v10m, & 41 41 o_wind10m, o_wind10max, o_wind100m, o_gusts, o_sicf, & 42 o_loadfactor_wind_onshore, o_loadfactor_wind_offshore, & 42 43 o_psol, o_mass, o_qsurf, o_qsol, & 43 44 o_precip, o_rain_fall, o_rain_con, o_ndayrain, o_plul, o_pluc, o_plun, & … … 411 412 INTEGER :: itau_w 412 413 INTEGER :: i, iinit, iinitend=1, iff, iq, iiq, nsrf, k, ll, naero 413 REAL, DIMENSION (klon) :: zx_tmp_fi2d, zpt_conv2d 414 REAL, DIMENSION (klon) :: zx_tmp_fi2d, zpt_conv2d, wind100m 414 415 REAL, DIMENSION (klon,klev) :: zx_tmp_fi3d, zpt_conv 415 416 REAL, DIMENSION (klon,klev+1) :: zx_tmp_fi3d1 … … 425 426 INTEGER, SAVE :: kmax_100m 426 427 !$OMP THREADPRIVATE(kmax_100m) 428 REAL :: x 427 429 #ifndef CPP_XIOS 428 430 REAL :: missing_val … … 713 715 DO i=1,klon 714 716 IF (z(i,k).LT.100..AND.z(i,k+1).GE.100.) THEN 715 zx_tmp_fi2d(i)=SQRT( (u_seri(i,k)+(100.-z(i,k))/(z(i,k+1)-z(i,k))*(u_seri(i,k+1)-u_seri(i,k)))**2.0 + &716 717 wind100m(i)=SQRT( (u_seri(i,k)+(100.-z(i,k))/(z(i,k+1)-z(i,k))*(u_seri(i,k+1)-u_seri(i,k)))**2.0 + & 718 (v_seri(i,k)+(100.-z(i,k))/(z(i,k+1)-z(i,k))*(v_seri(i,k+1)-v_seri(i,k)))**2.0 ) 717 719 ENDIF 718 720 ENDDO 719 721 ENDDO 720 722 ENDIF 721 CALL histwrite_phy(o_wind100m, zx_tmp_fi2d) 723 CALL histwrite_phy(o_wind100m, wind100m) 724 725 IF (vars_defined) THEN 726 !--polynomial fit for 14,Vestas,1074,V136/3450 kW windmill - Olivier 727 DO i=1,klon 728 IF (pctsrf(i,is_ter).GT.0.05) THEN 729 x=wind100m(i) 730 IF (x.LE.3.0 .OR. x.GE.22.5) THEN 731 zx_tmp_fi2d(i)=0.0 732 ELSE IF (x.GE.10.0) THEN 733 zx_tmp_fi2d(i)=1.0 734 ELSE 735 zx_tmp_fi2d(i)= 1.059e-09*x**10. - 1.351e-07*x**9. + 7.478e-06*x**8. - 0.0002352*x**7. + 0.004627*x**6. & 736 - 0.05898*x**5. + 0.4893*x**4. - 2.59*x**3. + 8.339*x**2. - 14.69*x + 10.73 737 zx_tmp_fi2d(i)=MIN(MAX(zx_tmp_fi2d(i),0.0),1.0) 738 ENDIF 739 ELSE 740 zx_tmp_fi2d(i)=missing_val_nf90 741 ENDIF 742 ENDDO 743 ENDIF 744 CALL histwrite_phy(o_loadfactor_wind_onshore, zx_tmp_fi2d) 745 746 IF (vars_defined) THEN 747 !--polynomial fit for 14,Vestas,867,V164/8000 kW - Olivier 748 DO i=1,klon 749 IF (pctsrf(i,is_oce).GT.0.05) THEN 750 x=wind100m(i) 751 IF (x.LE.3.0 .OR. x.GE.25.5) THEN 752 zx_tmp_fi2d(i)=0.0 753 ELSE IF (x.GE.12.5) THEN 754 zx_tmp_fi2d(i)=1.0 755 ELSE 756 zx_tmp_fi2d(i)= 3.352e-10*x**10. - 4.959e-08*x**9. + 3.195e-06*x**8. - 0.0001175*x**7. + 0.002716*x**6. & 757 - 0.04099*x**5. + 0.4065*x**4. - 2.601*x**3. + 10.25*x**2. - 22.39*x + 20.59 758 zx_tmp_fi2d(i)=MIN(MAX(zx_tmp_fi2d(i),0.0),1.0) 759 ENDIF 760 ELSE 761 zx_tmp_fi2d(i)=missing_val_nf90 762 ENDIF 763 ENDDO 764 ENDIF 765 CALL histwrite_phy(o_loadfactor_wind_offshore, zx_tmp_fi2d) 722 766 723 767 IF (vars_defined) THEN
Note: See TracChangeset
for help on using the changeset viewer.