Changeset 6 in lmdz_wrf
- Timestamp:
- Jul 18, 2014, 11:20:11 AM (10 years ago)
- Location:
- WRFV3
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
WRFV3/dyn_em/solve_em.F
r1 r6 186 186 CHARACTER(LEN=256) :: mminlu, mminsl 187 187 CHARACTER(LEN=50) :: errmsg 188 INTEGER :: hr, minute, sec, ms, julyr, & 189 julday 190 REAL :: gmt 191 188 192 189 193 errmsg = 'ERROR -- error -- ERROR -- error' … … 845 849 846 850 grid%qv_2 = moist(:,:,:,P_QV) 851 852 ! L. Fita, LMD. July 2014. Getting hour of the day 853 CALL domain_clock_get( grid, current_time=CurrTime ) 854 CALL WRFU_TimeGet( CurrTime, YY= julyr, dayOfYear=julday, H=hr, M=minute, S=sec, MS=ms, rc=rc) 855 ! Julian day hour (0, 1) !! 856 gmt=(hr+real(minute)/60.+real(sec)/3600.+real(ms)/(1000*3600))/24. 857 858 ! Checking for NaNs (should not be necessary but....) 859 im2 = ims + (ime - ims) / 2 860 jm2 = jms + (jme - jms) / 2 861 862 IF (grid%t_2(im2,iz,jm2) /= grid%t_2(im2,iz,jm2) .OR. ABS(grid%t_2(im2,iz,jm2)) > 10000. ) THEN 863 PRINT errmsg 864 WRITE(wrF_err_message,*)'solve_em: wrong T value=', & 865 grid%t_2(im2,iz,jm2),' at: ', im2,', ', iz,', ', jm2,' !!!' 866 #ifdef DM_PARALLEL 867 CALL wrf_error_fatal(TRIM(wrf_err_message)) 868 #else 869 PRINT *,TRIM(wrf_err_message) 870 STOP 871 #endif 872 END IF 873 ! Checking for NaNs (should not be necessary but....) 874 IF (grid%psfc(im2,jm2) /= grid%psfc(im2,jm2) .OR. ABS(grid%psfc(im2,jm2)) > 1000000. ) THEN 875 PRINT errmsg 876 WRITE(wrF_err_message,*)'solve_em: wrong PSFC value=', & 877 grid%psfc(im2,jm2),' at: ', im2 ,', ', jm2, ' !!!' 878 #ifdef DM_PARALLEL 879 CALL wrf_error_fatal(TRIM(wrf_err_message)) 880 #else 881 PRINT *,TRIM(wrf_err_message) 882 STOP 883 #endif 884 END IF 885 847 886 IF (config_flags%lmdz_physics) THEN 848 887 … … 865 904 & ,WNUM3DM=num_3d_m, WPARFIRSTSCAL=PARAM_FIRST_SCALAR, & 866 905 & WNX=config_flags%e_we, WNY=config_flags%e_sn, & 867 & WNZ=config_flags%e_vert, WJULDAY= grid%julday, WGMT=grid%gmt,&906 & WNZ=config_flags%e_vert, WJULDAY=FLOAT(julday), WGMT=gmt, & 868 907 & WTIME_STEP=REAL(config_flags%time_step), & 869 908 & WRF_FULLETA=grid%znw, WRF_HALFETA=grid%znu, WRF_DFULLETA=grid%dnw, & -
WRFV3/lmdz/physiq.F90
r1 r6 1307 1307 ! 1308 1308 CALL phys_cal_update(jD_cur,jH_cur) 1309 PRINT *,' Lluis physiq: jD_cur: ',jD_cur, ' jH_cur: ',jH_cur, & 1310 ' days_elapsed: ',days_elapsed 1309 1311 1310 1312 !c====================================================================== … … 1355 1357 print*, '=================================================' 1356 1358 print*, 'Allocation des variables locales et sauvegardees' 1357 ! PRINT *,' Lluis before phys_local_var_init ftsol: ',ftsol(llp,:)1358 1359 1359 1360 call phys_local_var_init 1360 PRINT *,' Lluis after phys_local_var_init ftsol: ',ftsol(llp,:)1361 1361 1362 1362 !c … … 1378 1378 1379 1379 1380 PRINT *,' Lluis after conf_phys qsol: ',qsol(llp), &1381 ' ftsol: ',ftsol(llp,:)1382 1383 1380 !! call phys_state_var_init(read_climoz) 1384 1381 call phys_output_var_init 1385 1382 1386 PRINT *,' Lluis after phys_output_var_init qsol: ',qsol(llp), &1387 ' ftsol: ',ftsol(llp,:)1388 1383 1389 1384 !L. Fita, LMD. November 2013 … … 1394 1389 !! CALL limit_initialize() 1395 1390 !! CALL vars_limit_init(klon) 1396 PRINT *,' Lluis before all rst:', ALLOCATED(qsurf_rst), ALLOCATED(qsol_rst) 1397 ! PRINT *,' Lluis before all :', ALLOCATED(qsurf), ALLOCATED(qsol) 1391 1398 1392 ! L. Fita, LMD January 2014. Initializing output variables 1399 1393 CALL init_ovars_lmdz_NOmodule(klon,klev,nbsrf) 1400 1401 PRINT *,' Lluis after init_ovas_lmdz_NOmodule qsol: ',qsol(llp), &1402 ' ftsol: ',ftsol(llp,:)1403 1394 1404 1395 ! Allocating restart variables … … 1413 1404 !! ALLOCATE(restart_runoff(klon)) 1414 1405 1415 !! PRINT *,' Lluis physiq before pbl_surface_init 315 qsurf: ', qsurf(llp,:), &1416 !! ' dims: ',UBOUND(qsurf),' allocated: ', ALLOCATED(qsurf),' qsol: ',qsol(llp)1417 1406 ! CALL pbl_surface_init(qsol_rst, fder_rst, snow_rst, qsurf_rst, evap_rst, & 1418 1407 ! rugos_rst, agesno_rst, ftsoil_rst) 1419 !! PRINT *,' Lluis physiq after pbl_surface_init 315 qsurf: ', qsurf(llp,:), &1420 !! ' dims: ',UBOUND(qsurf),' allocated: ', ALLOCATED(qsurf),' qsol: ',qsol(llp)1421 1408 ! CALL fonte_neige_init(restart_runoff) 1422 1409 ! qsol=qsol_rst … … 1464 1451 1465 1452 IF (debut) THEN 1466 PRINT *,'Lluis debut!!!!!'1467 1453 !rv 1468 1454 !cCRinitialisation de wght_th et lalim_conv pour la definition de la couche alimentation … … 1537 1523 radpas = NINT( 86400./dtime/nbapp_rad) 1538 1524 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 1539 PRINT *,'Lluis before phyetat0'1540 1525 1541 1526 CALL phyetat0 ("startphy.nc",clesphy0,tabcntr0) 1542 PRINT *,' Lluis after phyetat0 qsol: ',qsol(llp), & 1543 ' ftsol: ',ftsol(llp,:) 1544 1545 PRINT *,'Lluis after phyetat0' 1527 1546 1528 IF (klon_glo==1) THEN 1547 1529 coefh=0. ; coefm=0. ; pbl_tke=0. … … 1690 1672 rugoro(i) = f_rugoro * MAX(1.0e-05, zstd(i)*zsig(i)/2.0) 1691 1673 ENDDO 1692 1693 PRINT *,' Lluis after LMDZ_CFMIP_point_locations qsol: ',qsol(llp), &1694 ' ftsol: ',ftsol(llp,:)1695 1696 1674 1697 1675 !c34EK … … 1743 1721 #ifdef CPP_IOIPSL 1744 1722 1745 PRINT *,' Lluis before phys_output_open qsol: ',qsol(llp), &1746 ' ftsol: ',ftsol(llp,:)1747 1748 1723 !$OMP MASTER 1749 1724 call phys_output_open(rlon,rlat,nCFMIP,tabijGCM, & … … 1758 1733 !$OMP END MASTER 1759 1734 !$OMP BARRIER 1760 1761 PRINT *,' Lluis after phys_output_open qsol: ',qsol(llp), &1762 ' ftsol: ',ftsol(llp,:)1763 1764 1735 1765 1736 #ifdef histISCCP … … 1831 1802 1832 1803 call iniradia(klon,klev,paprs(1,1:klev+1)) 1833 1834 PRINT *,' Lluis after iniradia qsol: ',qsol(llp), &1835 ' ftsol: ',ftsol(llp,:)1836 1804 1837 1805 !$OMP single … … 1877 1845 ! 1878 1846 ! 1879 PRINT *,' Lluis end of -debut- !!!!'1880 1847 ! Incrementer le compteur de la physique 1881 1848 ! 1882 1849 itap = itap + 1 1883 PRINT *,' Lluis 5 11 itap: ',itap,' evap_srf: ',evap_srf(llp,:)1884 1850 !c 1885 1851 ! … … 1888 1854 ! on the surface fraction. 1889 1855 ! 1890 PRINT *,' Lluis before change_srf_frac qsol: ',qsol(llp), &1891 ' ftsol: ',ftsol(llp,:)1892 1856 CALL change_srf_frac(itap, dtime, days_elapsed+1, & 1893 1857 & pctsrf, falb1, falb2, ftsol, ustar, u10m, v10m, pbl_tke) 1894 PRINT *,' Lluis after change_srf_frac qsol: ',qsol(llp), &1895 ' ftsol: ',ftsol(llp,:)1896 1858 1897 1859 ! Update time and other variables in Reprobus … … 1949 1911 !c Ne pas affecter les valeurs entrees de u, v, h, et q 1950 1912 !c 1951 PRINT *,' Lluis 550 k t_seri t_____'1952 1913 DO k = 1, klev 1953 1914 DO i = 1, klon … … 1959 1920 qs_seri(i,k) = 0. 1960 1921 ENDDO 1961 PRINT *,k,t_seri(550,k), t(550,k)1962 1922 ENDDO 1963 1923 tke0(:,:)=pbl_tke(:,:,is_ave) … … 2002 1962 & , fs_bound, fq_bound ) 2003 1963 END IF 2004 2005 PRINT *,' Lluis after diageptq/diagphy qsol: ',qsol(llp), &2006 ' ftsol: ',ftsol(llp,:)2007 1964 2008 1965 !c Diagnostiquer la tendance dynamique … … 2075 2032 PRINT*,' debut avant hgardfou min max ftsol',itap,amn,amx 2076 2033 ENDIF !(check) THEN 2077 PRINT *,' Lluis before devu hgardfou qsol: ',qsol(llp), &2078 ' ftsol: ',ftsol(llp,:)2079 PRINT *,' t_seri: ',t_seri(550,:)2080 2034 2081 2035 !IM END … … 2083 2037 2084 2038 CALL hgardfou(t_seri,ftsol,'debutphy') 2085 PRINT *,' Lluis after devu hgardfou qsol: ',qsol(llp), &2086 ' ftsol: ',ftsol(llp,:)2087 2039 !c 2088 2040 !IM BEG … … 2097 2049 PRINT*,' debut apres hgardfou min max ftsol',itap,amn,amx 2098 2050 ENDIF !(check) THEN 2099 PRINT *,' Lluis after check qsol: ',qsol(llp), &2100 ' ftsol: ',ftsol(llp,:)2101 2051 2102 2052 !IM END … … 2139 2089 wo(:, :, 1) = ozonecm(rlat, paprs, rjour=real(days_elapsed+1)) 2140 2090 ENDIF 2141 PRINT *,' Lluis after initial conditions qsol: ',qsol(llp), &2142 ' ftsol: ',ftsol(llp,:)2143 2091 2144 2092 !c … … 2200 2148 endif 2201 2149 if(prt_level.ge.1) & 2202 & write(lunout,*)'Longitude solaire ',zlongi,solarlong0,dist 2203 PRINT *,' Lluis after solar orbit qsol: ',qsol(llp),&2204 ' ftsol: ',ftsol(llp,:)2150 & write(lunout,*)'Longitude solaire ',zlongi,solarlong0,dist,& 2151 ' jD_cur: ',jD_cur,' jH_cur: ',jH_cur,' days_elapsed: ', & 2152 REAL(days_elapsed+1) 2205 2153 2206 2154 … … 2213 2161 ! non nul aux poles. 2214 2162 IF (abs(solarlong0-1000.)<1.e-4) then 2163 PRINT *,' Lluis calling zenang_an' 2215 2164 call zenang_an(cycle_diurne,jH_cur,rlat,rlon,rmu0,fract) 2216 2165 ELSE … … 2219 2168 zdtime=dtime*REAL(radpas) ! pas de temps du rayonnement (s) 2220 2169 CALL zenang(zlongi,jH_cur,zdtime,rlat,rlon,rmu0,fract) 2170 PRINT *,' Lluis: radpas: ',radpas,' fract: ',fract(llp), & 2171 ' zdtime: ',zdtime,' jH_cur: ',jH_cur,' rmu0: ',rmu0(llp),& 2172 ' dtime: ',dtime,' nbapp_rad: ',nbapp_rad 2173 PRINT *,' Lluis @rlat@: ',rlat 2174 PRINT *,' Lluis @rlon@: ',rlon 2175 PRINT *,' Lluis @rmu0@: ',rmu0 2176 PRINT *,' Lluis @fract@: ',fract 2221 2177 ELSE 2222 2178 CALL angle(zlongi, rlat, fract, rmu0) 2223 2179 ENDIF 2224 2180 ENDIF 2181 PRINT *,' Lluis zenang_an rlat: ',rlat(llp), ' rlon:',rlon(llp), & 2182 ' rmu0: ',rmu0(llp),' fract: ',fract(llp),' jH_cur: ',jH_cur, & 2183 ' cycle_diurne: ',cycle_diurne 2225 2184 2226 2185 if (mydebug) then … … 2258 2217 2259 2218 PRINT *,' Lluis before pbl_surface qsol: ',qsol(llp), & 2260 ' ftsol: ',ftsol(llp,:)2219 ' rmu0: ',rmu0(llp),' jH_cur: ',jH_cur 2261 2220 2262 2221 CALL pbl_surface( & … … 2284 2243 & zxfluxt, zxfluxq, q2m, fluxq, pbl_tke ) 2285 2244 2286 PRINT *,' Lluis after pbl_surface qsol: ',qsol(llp), 2287 ' ftsol: ',ftsol(llp,:)2245 PRINT *,' Lluis after pbl_surface qsol: ',qsol(llp), & 2246 ' rmu0: ',rmu0(llp),' jH_cur: ',jH_cur 2288 2247 2289 2248 !----------------------------------------------------------------------------------------- … … 2292 2251 & (d_u_vdf,d_v_vdf,d_t_vdf+d_t_diss,d_q_vdf,dql0,'vdf') 2293 2252 !----------------------------------------------------------------------------------------- 2294 PRINT *,' Lluis after phys_add_tend qsol: ',qsol(llp), &2295 ' ftsol: ',ftsol(llp,:)2296 2297 2253 if (mydebug) then 2298 2254 call writefield_phy('u_seri',u_seri,llm) … … 2376 2332 2377 2333 !c Calcule de vitesse verticale a partir de flux de masse verticale 2378 PRINT *,' Lluis llp= ',llp,' k flxmass_w airephy omega _______'2379 2334 DO k = 1, klev 2380 2335 DO i = 1, klon 2381 2336 omega(i,k) = RG*flxmass_w(i,k) / airephy(i) 2382 IF (i == llp) PRINT *,k,flxmass_w(i,k), airephy(i), omega(i,k)2383 2337 END DO 2384 2338 END DO … … 3560 3514 ENDIF 3561 3515 !c 3562 PRINT *,' Lluis before calling radlwsw' 3516 PRINT *,' Lluis before calling radlwsw rmu0: ',rmu0(llp), & 3517 ' dist: ',dist,' frac: ',fract(llp),' jH_cur: ',jH_cur 3563 3518 CALL radlwsw & 3564 3519 & (dist, rmu0, fract, & … … 3583 3538 & solsw_aero, solsw0_aero, & 3584 3539 & topswcf_aero, solswcf_aero) 3540 PRINT *,' Lluis after calling radlwsw rmu0: ',rmu0(llp), & 3541 ' dist: ',dist,' frac: ',fract(llp),' jH_cur: ',jH_cur 3585 3542 3586 3543 !c -
WRFV3/phys/module_lmdz_phys.F
r1 r6 91 91 & wi_start,wi_end,wj_start,wj_end 92 92 INTEGER, INTENT(IN) :: wparfirstscal, wnum3dm 93 INTEGER, INTENT(IN):: wjulday93 REAL, INTENT(IN) :: wjulday 94 94 REAL, INTENT(IN) :: wtime_step 95 95 INTEGER, INTENT(IN) :: wrf_qvid, wrf_qcid, & … … 235 235 ! wnum_tiles: number of tiles 236 236 ! wjulday: WRF julian day 237 ! wgmt: WRF gmt hour 237 ! wgmt: WRF gmt hour (0, 1) 238 238 ! wtime_step: WRF time-step (in seconds) 239 239 ! wrf_dbg: level of debug from WRF … … 375 375 ' wrf_xtime: ',wrf_xtime,' wrf_rst: ', wrf_isrestart,' wrf_lwbdy: ', & 376 376 wrf_islowbdyin 377 PRINT *,' '//TRIM(Spt)//': k p ph ___________'378 DO iz=1,dimz379 PRINT *,iz,wrf_perP(ip,iz,jp),wrf_perGeopot(ip,iz,jp)380 END DO381 PRINT *,'dimx: ',dimx,' dimy: ',dimy,' dimz: ',dimz,' ddimx: ',ddimx,' ddimy: ',ddimy382 377 383 378 phykeys=0. … … 390 385 lmdz_lafin = .FALSE. 391 386 392 ! PRINT *,'Lluis: i j ij lon lat lonvals latvals_______'393 387 DO iy=1,ddimy 394 388 DO ix=1,ddimx … … 400 394 LatValues(ddimx*(iy-1)+ix) = wrf_Lat(ix,iy)*Pi/180. 401 395 PsfctendValues(ddimx*(iy-1)+ix) = wrf_psfctend(ix,iy) 402 ! PRINT *,ix,iy,(ddimx)*(iy-1)+ix,wrf_Lon(ix,iy),LonValues(ddimx*(iy-1)+ix), &403 ! wrf_Lat(ix,iy),LatValues(ddimx*(iy-1)+ix)404 396 END DO 405 397 END DO … … 533 525 wrf_grid%loce,wrf_grid%lsic) 534 526 535 PRINT *,' Lluis ltksoil. '// Spt //' ter: ',wrf_grid%lter(ip,jp),' lic: ',&536 wrf_grid%llic(ip,jp),' loce: ', wrf_grid%loce(ip,jp),' sic: ', &537 wrf_grid%lsic(ip,jp)538 539 527 ! LANDMASK in LMDZ as fractions 540 528 wrf_grid%lmsk = wrf_grid%lter + wrf_grid%llic … … 565 553 ! Value is given at the first time-step, not any more, since it will be continuously 566 554 ! used by LMDZ 567 PRINT *,' Lluis before '//TRIM(Spt)//' SMOIS: ',wrf_grid%smois(ip,:,jp), &568 ' dzs: ',wrf_grid%dzs,' lwsol: ',wrf_grid%lwsol(ip,jp)569 555 ! l. Fita, LMD. January 2014 570 556 ! This should be in this way, but, because we can not use any scheme DZS=0., so … … 574 560 ! wrf_grid%soil_layers(:,iz,:)/100. 575 561 ! END DO 576 PRINT *,' Lluis after: '//TRIM(Spt)//' SMOIS: ',wrf_grid%smois(ip,:,jp), &577 ' lwsol: ',wrf_grid%lwsol(ip,jp)578 562 DO iz=1,4 579 563 wrf_grid%ltksoil(:,iz,:)=wrf_grid%st(:,1,:) … … 626 610 ORCHIDEElevels = (/ 0.098, 0.1955, 0.5865, 1.3685, 2.9326, 6.0606, 12.3167, & 627 611 24.8289, 49.8534, 99.9022, 200. /) 628 PRINT *,' Lluis interpolating:',SIZE(wrf_grid%soil_layers(ip,:,jp)),' : ', &629 ' soil: ', &630 wrf_grid%soil_layers(ip,SIZE(wrf_grid%soil_layers(ip,:,jp)):1:-1,jp), &631 ' st: ',wrf_grid%st(ip,:,jp), 11, ' | ', ORCHIDEElevels,' soiltop: ', &632 wrf_grid%soilctop(ip,:,jp),' soilbot: ',wrf_grid%soilcbot(ip,:,jp)633 612 634 613 datasetname = soilcat … … 671 650 !L. Fita, LMD. January 2014 Soil layers are in cm! 672 651 673 IF ( (ix == ip) .AND. (iy == jp)) PRINT *,' Lluis '//TRIM(Spt)// &674 ' soiltop: ', wrf_grid%soilctop(ix,:,iy),' soilbot: ', &675 wrf_grid%soilcbot(ix,:,iy),' layers: ', &676 wrf_grid%soil_layers(ix,Nsoillayers:1:-1,iy)/100.,' sm: ', &677 wrf_grid%sm(ix,:,iy)678 652 679 653 ! NOTE: wrf_dx, wrf_dy should be matrix !!! … … 684 658 soilTmass, wrf_grid%lwsol(ix,iy)) 685 659 686 IF ( (ix == ip) .AND. (iy == jp)) PRINT *,'TOTAL soil mass at '// &687 TRIM(Spt)//': ', soilTmass,' [kg] water content: ', &688 wrf_grid%lwsol(ix,iy), ' [kg] equiv. water depth: ', &689 wrf_grid%lwsol(ix,iy)/(wrf_dx*wrf_dy*1000.)690 691 660 wrf_grid%lwsol(ix,iy) = wrf_grid%lwsol(ix,iy)/(wrf_dx*wrf_dy*1000.) 692 661 … … 694 663 wrf_grid%soil_layers(ix,SIZE(wrf_grid%soil_layers(ix,:,iy)):1:-1,iy), & 695 664 wrf_grid%st(ix,:,iy),11, ORCHIDEElevels,wrf_grid%lotter(ix,:,iy)) 696 IF ( (ix == ip) .AND. (iy == jp)) PRINT *,' Lluis orchidee temperature'//&697 ' at '// TRIM(Spt)//': ',wrf_grid%lotter(ix,:,iy)698 ! IF ( (ix == ip) .AND. (iy == jp)) STOP699 665 END DO 700 666 END DO … … 852 818 wrf_grid%lzrugsrel = wrf_grid%lrugKsoil(:,1,:) 853 819 854 PRINT *,'Lluis Topography values at',ip, jp, ' zmea: ', &855 wrf_grid%lzmea(ip,jp),' zstd: ',wrf_grid%lzstd(ip,jp),' zsig: ', &856 wrf_grid%lzsig(ip,jp),' zgam: ',wrf_grid%lzgam(ip,jp),' zthe: ', &857 wrf_grid%lzthe(ip,jp),' zpic: ',wrf_grid%lzpic(ip,jp),' zval: ', &858 wrf_grid%lzval(ip,jp),' rugoro: ',wrf_grid%lzrugsrel(ip,jp)859 860 820 ! R = 8.3144621 ([J mol/K] http://en.wikipedia.org/wiki/Gas_constant) 861 821 ! mu = 28.97 (Molecular Mass of Air [kg/kmol] from http://www.engineeringtoolbox.com/molecular-mass-air-d_679.html) … … 867 827 868 828 ! Grids do not start/end at the same index 869 !! PRINT *,' Lluis: Creating area/cu/cv...'870 829 wrf_area = 0. 871 830 wrf_cu = 0. … … 899 858 CALL lmdz_vars_init(ddimxy) 900 859 901 ! PRINT *,' Lluis before loading 5 11 ltksoil: ',wrf_grid%ltksoil(5,:,11), &902 ! ' ftsol: ',ftsol(315,:)903 ! PRINT *,' Lluis before loading 5 11 qsurf: ',qsurf(315,:),' qsurf_rst: ', &904 ! qsurf_rst(315,:),' smois :',wrf_grid%smois(5,:,11),' lqksoil: ', &905 ! wrf_grid%lqksoil(5,:,11)906 907 860 CALL load_lmdz(wrf_grid,ddimx,ddimy,dimz,wbdyw,ddimxy,4,11,rlon,rlat,zmasq, & 908 861 pctsrf,ftsol,ftsoil_rst,qsurf_rst,qsol_rst,falb1,falb2,evap_rst,snow_rst, & … … 916 869 rugos_rst, agesno_rst, ftsoil_rst) 917 870 CALL fonte_neige_init(restart_runoff) 918 919 PRINT *,' Lluis on module restart_runoff: ',UBOUND(restart_runoff)920 PRINT *,' ffonte_global: ',ALLOCATED(ffonte_global)921 PRINT *,' fqfonte_global: ',ALLOCATED(fqfonte_global)922 PRINT *,' fqcalving_global: ',ALLOCATED(fqcalving_global)923 924 PRINT *,' Lluis after loading '//TRIM(Spt)//': qsurf_rst: ', qsurf_rst(lp,:),&925 ' smois :',wrf_grid%smois(ip,:,jp),' lqksoil: ', wrf_grid%lqksoil(ip,:,jp)926 927 PRINT *,' Lluis after loading '//TRIM(Spt)//' ltksoil: ', &928 wrf_grid%ltksoil(ip,:,jp),' ftsol: ',ftsol(lp,:)929 930 PRINT *,' Lluis after loading '//TRIM(Spt)//' lwsol: ',wrf_grid%lwsol(ip,jp), &931 ' qsol_rst: ',qsol_rst(lp)932 933 PRINT *,' Lluis lmdz pt= ',lp,' k qsurf_rst qsol_rst evap_rst snow_rst ' // &934 'fder_rst agesno_rst rugos_rst'935 DO iz=1,4936 PRINT *,' * ',iz,qsurf_rst(lp,iz),qsol_rst(lp), evap_rst(lp,iz), &937 snow_rst(lp,iz),fder_rst(lp), agesno_rst(lp,iz),rugos_rst(lp,iz)938 PRINT *,' ftsoil: ',ftsoil_rst(lp,:,iz)939 END DO940 871 941 872 DO ix=1,ddimx … … 959 890 CALL NOread_limit_init(ddimxy, klon_glo) 960 891 961 PRINT *,' Lluis klon_glo,', klon_glo,' klon: ',klon,'lp= ',lp,' sst: ',sst(lp)962 892 sst_glo = sst(1:ddimxy) 963 893 ! In ocean_forced_mod is used as tsurf_limit = sst(knindex(1:knon)) 964 894 tsurf_limit = ftsol(:,3) 965 PRINT *,' Lluis pt tsurf_limit_check_____'966 DO ix=-10,10967 PRINT *,lp+ix,tsurf_limit(lp+ix),sst(lp+ix)968 END DO969 895 970 896 ! In surf_land_bucket_mod is used as z0_new=rugos(knindex(1:knon),1) [z0_new == z0_limit] 971 897 z0_limit = rugos_rst(:,1) 972 898 alb_limit = albedo 973 PRINT *,' Lluis pre-limit_values ftsol: ',ftsol(lp,:),' pctsrf: ',pctsrf(lp,:)974 PRINT *,' Lluis limit_values lp= ',lp,' tsurf_limit: ',tsurf_limit(lp), &975 ' z0_limit: ', z0_limit(lp),' alb_limit: ',alb_limit(lp)976 899 977 900 rug_glo = rugos_rst(:,is_ter) … … 981 904 ! temps=wjulday 982 905 983 !! PRINT *,' Lluis: calling iniphysiq'984 906 CALL iniphysiq(ddimx*ddimy, dimz, 86400., wjulday, wtime_step, & 985 907 & LatValues, LonValues, wrf_area, CUValues, CVValues, 1./reradius, g, r_d, cp, & … … 999 921 PRINT *,' Lluis: END of firststep !!!!!' 1000 922 END IF firststep 1001 1002 ip = 121003 jp = 71004 PRINT *,' ',wrf_grid%itimestep,' Lluis at 12 7: ',wrf_grid%lter(ip,jp), wrf_grid%llic(ip,jp), &1005 wrf_grid%loce(ip,jp), wrf_grid%lsic(ip,jp), ' rugksoil: ', &1006 wrf_grid%lrugksoil(ip,1,jp), wrf_grid%lrugksoil(ip,2,jp), &1007 wrf_grid%lrugksoil(ip,3,jp), wrf_grid%lrugksoil(ip,4,jp),' rug: ', &1008 wrf_grid%lrug(ip,jp)1009 ip = 61010 jp = 91011 PRINT *,' ',wrf_grid%itimestep,' Lluis at 6 9: ',wrf_grid%lter(ip,jp), wrf_grid%llic(ip,jp), &1012 wrf_grid%loce(ip,jp), wrf_grid%lsic(ip,jp), ' rugksoil: ', &1013 wrf_grid%lrugksoil(ip,1,jp), wrf_grid%lrugksoil(ip,2,jp), &1014 wrf_grid%lrugksoil(ip,3,jp), wrf_grid%lrugksoil(ip,4,jp),' rug: ', &1015 wrf_grid%lrug(ip,jp)1016 923 1017 924 ip=icheck_p … … 1067 974 PRINT *,' ' // subname // ': Problem allocating WRF moisture array!', ierr 1068 975 END IF 1069 1070 !! PRINT *,' Lluis wrf MOIST:',LBOUND(wrf_MOIST),' x ',UBOUND(wrf_MOIST)1071 !! PRINT *,'Mix ratio: ',LBOUND(MixingRatioValues),' x ', UBOUND(MixingRatioValues)1072 976 1073 977 IF (ALLOCATED(MixingRatiotendValues)) DEALLOCATE(MixingRatiotendValues) … … 1230 1134 END IF 1231 1135 1232 PRINT *,' Lluis before physiq '//TRIM(Spt)//' ltksoil: ', &1233 wrf_grid%ltksoil(ip,:,jp), ' ftsol: ',ftsol(lp,:)1234 1235 PRINT *,' Lluis beofre physiq '//TRIM(Spt)//' qsurf: ',zxqsurf(lp), &1236 ' qsurf_rst: ',qsurf_rst(lp,:),' smois :',wrf_grid%smois(ip,:,jp), &1237 ' lqksoil: ', wrf_grid%lqksoil(ip,:,jp)1238 1239 PRINT *,' Lluis before physiq: '//TRIM(Spt)//' FullPressValues HalfPressValues '&1240 // 'GeopotValues UValues VValues TValues: '1241 DO iz=1,dimz1242 PRINT *,FullPressValues(lp,iz), HalfPressValues(lp,iz), GeopotValues(lp,iz), &1243 UValues(lp,iz), VValues(lp,iz), TValues(lp,iz)1244 END DO1245 1246 ip = 231247 jp = 181248 PRINT *,' ',wrf_grid%itimestep,' Lluis before physiq at ',ip,', ', jp,' sst: ', &1249 wrf_grid%sst(ip,jp), sst((jp-1)*ddimx+ip),' ftsol 3: ',ftsol((jp-1)*ddimx+ip,is_oce)1250 1251 1136 ip=icheck_p 1252 1137 jp=jcheck_p … … 1281 1166 & lmdz_dudyn, lmdz_PVtheta) 1282 1167 1283 PRINT *,' Lluis after physiq '//TRIM(Spt)//' ltksoil: ', &1284 wrf_grid%ltksoil(ip,:,jp), ' ftsol: ',ftsol(315,:)1285 PRINT *,' Lluis after physiq '//TRIM(Spt)//' qsurf: ',zxqsurf(lp), &1286 ' qsurf_rst: ', qsurf_rst(lp,:),' smois :',wrf_grid%smois(ip,:,jp), &1287 ' lqksoil: ', wrf_grid%lqksoil(ip,:,jp)1288 PRINT *,' Lluis after physiq: '//TRIM(Spt)//' FullPressValues HalfPressValues ' &1289 // 'GeopotValuesUValues VValues TValues: '1290 DO iz=1,dimz1291 PRINT *,FullPressValues(lp,iz), HalfPressValues(lp,iz), GeopotValues(lp,iz), &1292 UValues(lp,iz), VValues(lp,iz), TValues(lp,iz)1293 END DO1294 1295 ip = 231296 jp = 181297 PRINT *,' ',wrf_grid%itimestep,' Lluis after physiq at ',ip,', ', jp,' sst: ', &1298 wrf_grid%sst(ip,jp), sst((jp-1)*ddimx+ip),' ftsol 3: ',ftsol((jp-1)*ddimx+ip,is_oce)1299 1300 1168 ip=icheck_p 1301 1169 jp=jcheck_p … … 1370 1238 wrf_Vtend(wime,:,wjme) = wrfVtenddestagg(wime-1,:,wjme-1) 1371 1239 1372 PRINT *,' Lluis ' // TRIM(Spt) // ' wrf_Utend: ',wrf_Utend(ip,1,jp), &1373 ' wrfUtenddestagg a: ', wrfUtenddestagg(ip-1,1,jp),' wrfUtenddestagg b: ', &1374 wrfUtenddestagg(ip,1,jp), ' wrfUtenddestagg c: ',wrfUtenddestagg(ip+1,1,jp), &1375 ' UtendValues: ', UtendValues(lp,1),' lp: ',lp1376 PRINT *,'dim UtendValues: ',1-wbdyw,':',dimx-1-wbdyw+1,', ',dimz+1,', ',1-wbdyw,':',dimy-1-wbdyw+11377 1240 !! wrf_Ttend = wrf_Temptend 1378 1241 … … 1467 1330 LMDZvarmethod = 'prod' 1468 1331 1469 PRINT *,' AFTER physic and before recomputing!!!!!'1470 ip = 121471 jp = 71472 PRINT *,' ',wrf_grid%itimestep,' Lluis at 12 7: ',wrf_grid%lter(ip,jp), wrf_grid%llic(ip,jp), &1473 wrf_grid%loce(ip,jp), wrf_grid%lsic(ip,jp), ' rugksoil: ', &1474 wrf_grid%lrugksoil(ip,1,jp), wrf_grid%lrugksoil(ip,2,jp), &1475 wrf_grid%lrugksoil(ip,3,jp), wrf_grid%lrugksoil(ip,4,jp),' rug: ', &1476 wrf_grid%lrug(ip,jp)1477 ip = 61478 jp = 91479 PRINT *,' ',wrf_grid%itimestep,' Lluis at 6 9: ',wrf_grid%lter(ip,jp), wrf_grid%llic(ip,jp), &1480 wrf_grid%loce(ip,jp), wrf_grid%lsic(ip,jp), ' rugksoil: ', &1481 wrf_grid%lrugksoil(ip,1,jp), wrf_grid%lrugksoil(ip,2,jp), &1482 wrf_grid%lrugksoil(ip,3,jp), wrf_grid%lrugksoil(ip,4,jp),' rug: ', &1483 wrf_grid%lrug(ip,jp)1484 1485 1332 CALL wrf_varKsoil(wims,wime,wjms,wjme,dimx,dimy,wbdyw,LMDZvarmethod, & 1486 1333 wrf_grid%lter,wrf_grid%llic,wrf_grid%loce,wrf_grid%lsic, & … … 1488 1335 wrf_grid%lrugksoil(:,4,:),wrf_grid%lrug) 1489 1336 1490 PRINT *,' AFTER physic and recomputing!!!!!'1491 ip = 121492 jp = 71493 PRINT *,' ',wrf_grid%itimestep,' Lluis at 12 7: ',wrf_grid%lter(ip,jp), wrf_grid%llic(ip,jp), &1494 wrf_grid%loce(ip,jp), wrf_grid%lsic(ip,jp), ' rugksoil: ', &1495 wrf_grid%lrugksoil(ip,1,jp), wrf_grid%lrugksoil(ip,2,jp), &1496 wrf_grid%lrugksoil(ip,3,jp), wrf_grid%lrugksoil(ip,4,jp),' rug: ', &1497 wrf_grid%lrug(ip,jp)1498 ip = 61499 jp = 91500 PRINT *,' ',wrf_grid%itimestep,' Lluis at 6 9: ',wrf_grid%lter(ip,jp), wrf_grid%llic(ip,jp), &1501 wrf_grid%loce(ip,jp), wrf_grid%lsic(ip,jp), ' rugksoil: ', &1502 wrf_grid%lrugksoil(ip,1,jp), wrf_grid%lrugksoil(ip,2,jp), &1503 wrf_grid%lrugksoil(ip,3,jp), wrf_grid%lrugksoil(ip,4,jp),' rug: ', &1504 wrf_grid%lrug(ip,jp)1505 1506 ip = 231507 jp = 181508 PRINT *,' ',wrf_grid%itimestep,' Lluis at ',ip,', ', jp,' sst : ', &1509 wrf_grid%sst(ip,jp), sst((jp-1)*ddimx+ip),' ftsol 3: ',ftsol((jp-1)*ddimx+ip,is_oce)1510 1511 1337 CALL wrf_varKsoil(wims,wime,wjms,wjme,dimx,dimy,wbdyw,LMDZvarmethod, & 1512 1338 wrf_grid%lter,wrf_grid%llic,wrf_grid%loce,wrf_grid%lsic, & … … 1553 1379 ! & wrf_grid%seed2) 1554 1380 1555 ip = 231556 jp = 181557 PRINT *,' ',wrf_grid%itimestep,' Lluis after put at ',ip,', ', jp,' sst: ', &1558 wrf_grid%sst(ip,jp), sst((jp-1)*ddimx+ip),' ftsol 3: ',ftsol((jp-1)*ddimx+ip,is_oce)1559 1560 1381 ip=icheck_p 1561 1382 jp=jcheck_p … … 1654 1475 ! & wrf_grid%lweakinv, wrf_grid%lwind10m, wrf_grid%lwind10max, wrf_grid%lzmax_th) 1655 1476 1656 PRINT *, ' Lluis: wrf_grid%la_th', UBOUND(wrf_grid%la_th),' fraca: ',UBOUND(fraca)1657 1477 ! DO iz=wkms, wkme-2 1658 1478 ! CALL get_lmdz_out3D_z_i(wims, wime, wjms, wjme, iz, ddimx, ddimy, dimz, wbdyw, & … … 1820 1640 ! END DO 1821 1641 1822 PRINT *,' Lluis Loading done! iz ldtlwr _______________'1823 DO iz=1,dimz1824 PRINT *,iz,wrf_grid%ldtlwr(ip,iz,jp)1825 END DO1826 1827 1642 ! CALL get_lmdz_out3D_ii(wims, wime, wjms, wjme, wkms, wkme, ddimx, ddimy, dimz, & 1828 1643 ! & wbdyw, ddimxy, nbsrf, nsoilmx, lmdzmixingratios, 1, 2, wrf_l_thermals, &
Note: See TracChangeset
for help on using the changeset viewer.