Changeset 28 for trunk/mesoscale/LMD_MM_MARS/SRC/WRFV2/phys
- Timestamp:
- Jan 25, 2011, 4:18:50 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/mesoscale/LMD_MM_MARS/SRC/WRFV2/phys/module_lmd_driver.F
r11 r28 10 10 ! - general cleaning of code and comments - October 2008 11 11 ! - additions for idealized cases - January 2009 12 ! - additions for new soil model in physics - January 2010 12 13 !******************************************************************************* 13 14 MODULE module_lmd_driver … … 29 30 MARS_ALB,MARS_TI,MARS_CICE,MARS_EMISS, & 30 31 MARS_TSOIL, & 32 #ifdef NEWPHYS 33 MARS_ISOIL, & 34 MARS_DSOIL, & 35 #endif 31 36 MARS_GW, & 32 37 NUM_SOIL_LAYERS, & … … 105 110 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 106 111 REAL, DIMENSION( ims:ime, NUM_SOIL_LAYERS, jms:jme ), INTENT(IN ) :: & 107 MARS_TSOIL 112 MARS_TSOIL 113 #ifdef NEWPHYS 114 REAL, DIMENSION( ims:ime, NUM_SOIL_LAYERS, jms:jme ), INTENT(IN ) :: & 115 MARS_ISOIL, MARS_DSOIL 116 #endif 108 117 REAL, DIMENSION( ims:ime, 5, jms:jme ), INTENT(IN ) :: & 109 118 MARS_GW … … 147 156 LOGICAL :: firstcall,lastcall,tracerdyn 148 157 REAL,DIMENSION(:),ALLOCATABLE :: q2_val, qsurf_val, tsoil_val 158 #ifdef NEWPHYS 159 REAL,DIMENSION(:),ALLOCATABLE :: isoil_val, dsoil_val 160 #endif 149 161 REAL,DIMENSION(:),ALLOCATABLE :: aire_vec,lat_vec,lon_vec 150 162 REAL,DIMENSION(:),ALLOCATABLE :: walbedodat,winertiedat,wphisfi … … 153 165 ! v--- can they be modified ? 154 166 REAL,DIMENSION(:),ALLOCATABLE :: wtsurf,wco2ice,wemis 155 REAL,DIMENSION(:,:),ALLOCATABLE :: wq2,wqsurf,wtsoil 167 REAL,DIMENSION(:,:),ALLOCATABLE :: wq2,wqsurf,wtsoil 168 #ifdef NEWPHYS 169 REAL,DIMENSION(:,:),ALLOCATABLE :: wisoil,wdsoil 170 #endif 156 171 ! ---------- 157 172 REAL,DIMENSION(:,:),ALLOCATABLE :: pplev,pplay,pphi,pu,pv,pt,pw … … 451 466 ALLOCATE(qsurf_val(nq)) 452 467 ALLOCATE(tsoil_val(nsoil)) 468 #ifdef NEWPHYS 469 ALLOCATE(isoil_val(nsoil)) 470 ALLOCATE(dsoil_val(nsoil)) 471 #endif 453 472 ALLOCATE(wq2(ngrid,nlayer+1)) 454 473 ALLOCATE(wqsurf(ngrid,nq)) 455 474 ALLOCATE(wtsoil(ngrid,nsoil)) 475 #ifdef NEWPHYS 476 ALLOCATE(wisoil(ngrid,nsoil)) 477 ALLOCATE(wdsoil(ngrid,nsoil)) 478 #endif 456 479 ALLOCATE(pplev(ngrid,nlayer+1)) 457 480 ALLOCATE(pplay(ngrid,nlayer)) … … 594 617 tsoil_val = tsoil_val*0. + tsurf_val 595 618 ENDIF 619 #ifdef NEWPHYS 620 isoil_val(:)=MARS_ISOIL(i,:,j) 621 dsoil_val(:)=MARS_DSOIL(i,:,j) 622 #endif 596 623 597 624 !-------------------! … … 630 657 PRINT *,'v_prof ',v_prof 631 658 PRINT *,'tsoil ',tsoil_val 659 #ifdef NEWPHYS 660 PRINT *,'isoil ',isoil_val 661 PRINT *,'dsoil ',dsoil_val 662 #endif 632 663 ENDIF 633 664 … … 660 691 wqsurf(subs,:) = qsurf_val(:) 661 692 wtsoil(subs,:) = tsoil_val(:) 693 #ifdef NEWPHYS 694 wisoil(subs,:) = isoil_val(:) 695 wdsoil(subs,:) = dsoil_val(:) 696 #endif 662 697 wtheta(subs) = theta_val 663 698 wpsi(subs) = psi_val … … 680 715 pplev(subs,1:nlayer) = p8w_prof(1:nlayer) !! NB: last level: no data 681 716 pplay(subs,:) = p_prof(:) 682 pt(subs,:) = t_prof(:) ! temperature717 pt(subs,:) = t_prof(:) 683 718 pu(subs,:) = u_prof(:) 684 719 pv(subs,:) = v_prof(:) … … 711 746 DEALLOCATE(qsurf_val) 712 747 DEALLOCATE(tsoil_val) 748 #ifdef NEWPHYS 749 DEALLOCATE(isoil_val) 750 DEALLOCATE(dsoil_val) 751 #endif 713 752 DEALLOCATE(dz8w_prof) 714 753 DEALLOCATE(z_prof) … … 738 777 IF (firstcall .EQV. .true.) THEN 739 778 print *, '** Mars ** LMD INITIALIZATION' 740 include "../call_meso_inifis.inc" 779 #include "../call_meso_inifis.inc" 780 !!! le # est important pour newphys 741 781 DEALLOCATE(aire_vec) 742 782 DEALLOCATE(lat_vec) … … 777 817 pdt(:,:)=0. 778 818 pdq(:,:,:)=0. 779 include "../call_meso_physiq.inc" 819 #include "../call_meso_physiq.inc" 820 !!! le # est important pour newphys 780 821 DEALLOCATE(pplev) 781 822 DEALLOCATE(pplay) … … 792 833 DEALLOCATE(wqsurf) 793 834 DEALLOCATE(wtsoil) 835 #ifdef NEWPHYS 836 DEALLOCATE(wisoil) 837 DEALLOCATE(wdsoil) 838 #endif 794 839 795 840
Note: See TracChangeset
for help on using the changeset viewer.