Changeset 315 for trunk/MESOSCALE/LMD_MM_MARS/SRC/WRFV2/phys
- Timestamp:
- Oct 10, 2011, 11:01:05 PM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/MESOSCALE/LMD_MM_MARS/SRC/WRFV2/phys/module_lmd_driver.F
r250 r315 35 35 MARS_ISOIL, & 36 36 MARS_DSOIL, & 37 MARS_Z0, & 38 CST_Z0, & 37 39 #endif 38 40 MARS_GW, & … … 127 129 MARS_TSOIL 128 130 #ifdef NEWPHYS 131 REAL, INTENT(IN ) :: CST_Z0 129 132 REAL, DIMENSION( ims:ime, NUM_SOIL_LAYERS, jms:jme ), INTENT(IN ) :: & 130 133 MARS_ISOIL, MARS_DSOIL 134 REAL, DIMENSION( ims:ime, jms:jme ), INTENT(IN ) :: & 135 MARS_Z0 131 136 #endif 132 137 REAL, DIMENSION( ims:ime, 5, jms:jme ), INTENT(IN ) :: & … … 186 191 #ifdef NEWPHYS 187 192 REAL,DIMENSION(:),ALLOCATABLE :: isoil_val, dsoil_val 193 REAL :: z0_val 188 194 #endif 189 195 REAL,DIMENSION(:),ALLOCATABLE :: aire_vec,lat_vec,lon_vec … … 195 201 REAL,DIMENSION(:,:),ALLOCATABLE :: wq2,wqsurf,wtsoil 196 202 #ifdef NEWPHYS 203 REAL,DIMENSION(:),ALLOCATABLE :: wz0tab 197 204 REAL,DIMENSION(:,:),ALLOCATABLE :: wisoil,wdsoil 198 205 CHARACTER*20,DIMENSION(:),ALLOCATABLE :: wtnom … … 568 575 !----------! 569 576 ! inputs ... 570 ALLOCATE(aire_vec(ngrid)) 571 ALLOCATE(lon_vec(ngrid)) 572 ALLOCATE(lat_vec(ngrid)) 573 ALLOCATE(walbedodat(ngrid)) 574 ALLOCATE(winertiedat(ngrid)) 575 ALLOCATE(wphisfi(ngrid)) 576 ALLOCATE(wzmea(ngrid)) 577 ALLOCATE(wzstd(ngrid)) 578 ALLOCATE(wzsig(ngrid)) 579 ALLOCATE(wzgam(ngrid)) 580 ALLOCATE(wzthe(ngrid)) 581 ALLOCATE(wtheta(ngrid)) 582 ALLOCATE(wpsi(ngrid)) 583 ALLOCATE(wtsurf(ngrid)) 577 IF (firstcall .EQV. .true.) THEN 578 ALLOCATE(aire_vec(ngrid))! 579 ALLOCATE(lon_vec(ngrid))! 580 ALLOCATE(lat_vec(ngrid))! 581 ALLOCATE(walbedodat(ngrid))! 582 ALLOCATE(winertiedat(ngrid))! 583 ALLOCATE(wphisfi(ngrid))! 584 ALLOCATE(wzmea(ngrid))! 585 ALLOCATE(wzstd(ngrid))! 586 ALLOCATE(wzsig(ngrid))! 587 ALLOCATE(wzgam(ngrid))! 588 ALLOCATE(wzthe(ngrid))! 589 ALLOCATE(wtheta(ngrid))! 590 ALLOCATE(wpsi(ngrid))! 591 #ifdef NEWPHYS 592 ALLOCATE(wz0tab(ngrid))! 593 #endif 594 ENDIF 595 ALLOCATE(wtsurf(ngrid)) !!!!! 584 596 #ifndef NOPHYS 585 597 ALLOCATE(output_tab2d(ngrid,n2d)) 586 598 ALLOCATE(output_tab3d(ngrid,nlayer,n3d)) 587 599 #endif 588 ALLOCATE(wco2ice(ngrid)) 589 ALLOCATE(wemis(ngrid)) 600 ALLOCATE(wco2ice(ngrid)) !!!!! 601 ALLOCATE(wemis(ngrid)) !!!!! 590 602 ALLOCATE(q2_val(nlayer+1)) 591 603 ALLOCATE(qsurf_val(nq)) … … 595 607 ALLOCATE(dsoil_val(nsoil)) 596 608 #endif 597 ALLOCATE(wq2(ngrid,nlayer+1)) 598 ALLOCATE(wqsurf(ngrid,nq)) 599 ALLOCATE(wtsoil(ngrid,nsoil)) 600 #ifdef NEWPHYS 601 ALLOCATE(wisoil(ngrid,nsoil)) 602 ALLOCATE(wdsoil(ngrid,nsoil)) 603 #endif 604 ALLOCATE(pplev(ngrid,nlayer+1)) 605 ALLOCATE(pplay(ngrid,nlayer)) 606 ALLOCATE(pphi(ngrid,nlayer)) 607 ALLOCATE(pu(ngrid,nlayer)) 608 ALLOCATE(pv(ngrid,nlayer)) 609 ALLOCATE(pt(ngrid,nlayer)) 610 ALLOCATE(pw(ngrid,nlayer)) 611 ALLOCATE(pq(ngrid,nlayer,nq)) 609 ALLOCATE(wq2(ngrid,nlayer+1)) !!!!! 610 ALLOCATE(wqsurf(ngrid,nq)) !!!!! 611 ALLOCATE(wtsoil(ngrid,nsoil)) !!!!! 612 #ifdef NEWPHYS 613 ALLOCATE(wisoil(ngrid,nsoil)) !!!!! 614 ALLOCATE(wdsoil(ngrid,nsoil)) !!!!! 615 #endif 616 ALLOCATE(pplev(ngrid,nlayer+1)) !!!!! 617 ALLOCATE(pplay(ngrid,nlayer)) !!!!! 618 ALLOCATE(pphi(ngrid,nlayer)) !!!!! 619 ALLOCATE(pu(ngrid,nlayer)) !!!!! 620 ALLOCATE(pv(ngrid,nlayer)) !!!!! 621 ALLOCATE(pt(ngrid,nlayer)) !!!!! 622 ALLOCATE(pw(ngrid,nlayer)) !!!!! 623 ALLOCATE(pq(ngrid,nlayer,nq)) !!!!! 612 624 ! interm 613 625 ALLOCATE(dz8w_prof(nlayer)) … … 624 636 #ifdef NEWPHYS 625 637 ALLOCATE(q_prof(nlayer,nq)) 626 ALLOCATE(wtnom(nq)) 638 ALLOCATE(wtnom(nq)) !!!!! 627 639 #else 628 640 ALLOCATE(water_vapor_prof(nlayer)) 629 641 ALLOCATE(water_ice_prof(nlayer)) 630 642 #endif 643 631 644 632 645 !!!!!!!!!!!!!!!!!!!!!!!!!!!! … … 811 824 ENDIF 812 825 826 #ifdef NEWPHYS 827 !----------------------------! 828 ! Variable surface roughness ! 829 !----------------------------! 830 IF (JULYR .ne. 9999) THEN 831 IF (CST_Z0 == 0) THEN 832 z0_val = MARS_Z0(i,j) 833 ELSE 834 z0_val = CST_Z0 835 IF ( (i == ips) .AND. (j == jps) ) PRINT *,'** Mars ** SET CONSTANT SURF ROUGHNESS (m) ',CST_Z0 836 ENDIF 837 ELSE 838 IF ( (i == ips) .AND. (j == jps) ) PRINT *,'** Mars ** IDEALIZED SIMULATION z0 (m) ', CST_Z0 839 z0_val=CST_Z0 840 ENDIF 841 !!!! ADDITIONAL SECURITY. THIS MIGHT HAPPEN WITH OLD INIT FILES. 842 IF (z0_val == 0.) THEN 843 PRINT *, 'WELL, z0 is 0, this is no good. Setting to old defaults value 0.01 m' 844 z0_val = 0.01 845 ENDIF 846 #endif 847 813 848 !---------------------------------------------------------! 814 849 ! Ground geopotential ! … … 935 970 PRINT *,'dsoil ',dsoil_val 936 971 PRINT *,'q_prof ',q_prof 972 PRINT *,'z0 ',z0_val 937 973 #endif 938 974 ENDIF … … 968 1004 wisoil(subs,:) = isoil_val(:) 969 1005 wdsoil(subs,:) = dsoil_val(:) 1006 wz0tab(subs) = z0_val 970 1007 #endif 971 1008 wtheta(subs) = theta_val … … 1083 1120 DEALLOCATE(wtheta) 1084 1121 DEALLOCATE(wpsi) 1122 #ifdef NEWPHYS 1123 DEALLOCATE(wz0tab) 1124 #endif 1085 1125 ENDIF 1086 1126
Note: See TracChangeset
for help on using the changeset viewer.